您的位置:首页 > 移动开发 > Android开发

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

2016-02-26 17:03 901 查看
     如题,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);
}
}
});


这个会有很多限制,而且目前还未完善,有其他解决的方法的,可以告诉我,欢迎指教!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息