[置顶] Android Fragment 中自定义键盘如何调整布局,不挡住界面控件

     如题,Android Fragment 中自定义键盘如何调整布局,不挡住界面控件????这个问题从项目开始做自定义的键盘就遇到了这个问题,我们的界面切换管理用的都是fragment,所以也就不能使用像网上说的在主配置文件AndroidManifest.xml的activity设置一个键盘弹出自动调整的属性,在fragment界面中,这完全没起作用,还有就是view的scrollBy方法,因为用的是自定义键盘又同时继承了edittext,所在在这个类里面拿不到界面布局,也就无法控制界面的大小,最后的曲折的解决方式是这样的:


     1.当点击某个控件edittext时,监听他的touch事件,隐藏掉上方的部分布局,这样做的目的就是让下方弹出的键盘有足够的控件显示,且不会挡道布局下方的控件,当失去焦点时,就让隐藏的布局重新显示,代码如下:

limitEditText.setOnTouchListener(new View.OnTouchListener() {
			@Override
			public boolean onTouch(View v, MotionEvent event) {
				buyorselltitlelayout.setVisibility(View.GONE);
				buyorselllayout.setVisibility(View.GONE);

				v.performClick();
				return false;
			}
		});

		limitEditText
				.setOnFocusChangeListener(new android.view.View.OnFocusChangeListener() {
					@Override
					public void onFocusChange(View v, boolean hasFocus) {
						if (hasFocus) {
							// 此处为得到焦点时的处理内容
							buyorselltitlelayout.setVisibility(View.GONE);
							buyorselllayout.setVisibility(View.GONE);
						} else {
							// 此处为失去焦点时的处理内容
							buyorselltitlelayout.setVisibility(View.VISIBLE);
							buyorselllayout.setVisibility(View.VISIBLE);
						}
					}
				});

这个会有很多限制,而且目前还未完善,有其他解决的方法的,可以告诉我,欢迎指教!

你可能感兴趣的:(android,键盘,自适应大小)