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

Android: 解决软键盘弹出覆盖界面问题

2017-08-14 09:59 183 查看
在做项目的时候遇到这样一个问题,在屏幕的中央有一个输入框,点击输入框软键盘弹出,在一些大屏手机上是没有任何问题的,不过在有的分辨率低的手机上就会出现覆盖输入框的现象,在请教了大神之后得到的解决方法就是:

在清单文件里面设置改Activity属性: android:windowSoftInputMode=”adjustPan”

在该Activity布局的父布局套上ScrollView

然后在代码里面这样写:

scroll_view.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {

@Override

public void onGlobalLayout() {

View view = getCurrentFocus();
if (view != null && !view.equals(putpoConsunme)) {
return;
}

int heightDiff = scroll_view.getRootView().getHeight() - scroll_view.getHeight();
if (heightDiff > AppUtil.dip2px(PutPoTicketActivity.this, 200)) {
scroll_view.postDelayed(new Runnable() {
@Override
public void run() {
scroll_view.smoothScrollTo(0, 100);
}
}, 100);
} else {
AppUtil.scrollVertical(scroll_view, 0);
}
}
});

这样当软键盘染出的时候整体布局会向上滑动不会出现覆盖问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android 界面 布局