软键盘弹出+popupWindow的问题
2017-03-02 10:24
477 查看
popupWindow上有输入框,我希望在软件盘弹出的时候popupWindow可以上移,搜集了很多资料,有的说通过屏幕的大小减去Activity显示的大小,就是键盘的高度,然后动态设置popupWindow的大小,但是没有实现.因为popupWindow的大小就是屏幕的大小,所以此时Activity显示的大小就是0.
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
所以我使用了另一种方式,就是设置popupWindow的属性,据说这两个属性的位置不可以变,我没有测试,但是设置之后也没其效果,之后我就通过问一些大神知道了popupWindow必须被scrollview包裹才行,不然不可以弹出.
2
也有说找到这个activity的配置文件设置这个属性android:windowSoftInputMode = “stateVisible|adjustResize”但是我的也没有效果,之后没有测试,可能是我开始没有用scrollview做顶级布局吧.如果是”adjustPan|stateHidden”则键盘弹出布局不会上移,还有其他的属性,这里就不一一例举了.
EditText不能输入小数,只要把android:inputtype=”number”(整数),可以number改为numberDecimal即可,还有其他的edittext的设置可以参照以下网址进行动态设置
/** 2. 获取键盘的高度,设置scrollview的大小 */ public void setScrollViewHight() { ll_root.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { /** * the result is pixels */ @Override public void onGlobalLayout() { Rect r = new Rect(); //获取可见高度 int visiableHeight = r.bottom - r.top; LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) myScrool.getLayoutParams(); //获取当前控件的布局对象 params.height = visiableHeight;//设置当前控件布局的高度 myScrool.setLayoutParams(params);//将设置好的布局参数应用到控件中 ll_root.getWindowVisibleDisplayFrame(r); int screenHeight = ll_root.getRootView().getHeight(); int heightDifference = screenHeight - visiableHeight; Log.e("可见高度是", visiableHeight + ""); Log.e("Keyboard Size", "Size:" + heightDifference); //boolean visible = heightDiff > screenHeight / 3; } }); }1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
所以我使用了另一种方式,就是设置popupWindow的属性,据说这两个属性的位置不可以变,我没有测试,但是设置之后也没其效果,之后我就通过问一些大神知道了popupWindow必须被scrollview包裹才行,不然不可以弹出.
menuWindow.setSoftInputMode(PopupWindow.INPUT_METHOD_NEEDED); menuWindow.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);1
2
也有说找到这个activity的配置文件设置这个属性android:windowSoftInputMode = “stateVisible|adjustResize”但是我的也没有效果,之后没有测试,可能是我开始没有用scrollview做顶级布局吧.如果是”adjustPan|stateHidden”则键盘弹出布局不会上移,还有其他的属性,这里就不一一例举了.
EditText不能输入小数,只要把android:inputtype=”number”(整数),可以number改为numberDecimal即可,还有其他的edittext的设置可以参照以下网址进行动态设置
相关文章推荐
- 关于popupwindow中含有EditText,点击无法弹出键盘的问题
- popwindow与editText 软键盘弹出问题
- Android PopupWindow在7.0中弹出位置问题
- 华为手机PopupWindow弹出时背景不变暗问题
- 底部弹出PopupWindow+地址三级联动,多问题全面分析,详细注释
- 在PopupWindow中再弹出PopupWindow问题
- 【关于适配】华为手机PopupWindow弹出时背景不变暗 或者 华为手机PopupWindow背景一闪一闪问题处理
- Android PopupWindow在7.0中弹出位置问题
- 华为手机PopupWindow弹出时背景不变暗问题
- Android:设置PopupWindow 的键盘弹出模式
- popupwindow弹出,父类背景变暗问题
- 解决popup不随着window一起移动的问题
- Android之PopupWindow弹出对话框
- UITextField控件处理键盘弹出时遮住输入框的问题。
- [UI控件问题] UITextField控件处理键盘弹出时遮住输入框的问题
- Flex 自定义组件 -- 弹出窗口 [PopUpManager TitleWindow 组件]的使用
- Android之PopupWindow弹出对话框
- 解决弹出的窗口window.open会被浏览器阻止的问题(自定义open方法)
- firefox中使用window.createPopup的问题
- popupwindow 如何实现弹出菜单效果_popupwindow 实现弹出窗口范例