Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当键盘打开时,保持按钮在视图中(android)_Android_Keyboard_Resize_Window_Views - Fatal编程技术网

当键盘打开时,保持按钮在视图中(android)

当键盘打开时,保持按钮在视图中(android),android,keyboard,resize,window,views,Android,Keyboard,Resize,Window,Views,我在下拉列表中有一个EditText,底部有两个按钮(保存/取消)。当用户单击编辑文本时,键盘会打开并覆盖这两个按钮,这会给用户带来不便。我希望这些按钮位于键盘顶部,但位于EditText下方。我尝试在清单中声明调整大小,但没有用,因为操作发生在我的下拉列表中,而不是在我的活动中。我知道有一种方法可以通过编程实现,但需要一些帮助,谢谢。代码如下: layout = inflater.inflate(R.layout.popup, (ViewGroup)findViewById(R.layout

我在
下拉列表中有一个
EditText
,底部有两个按钮(保存/取消)。当用户单击编辑文本时,键盘会打开并覆盖这两个按钮,这会给用户带来不便。我希望这些按钮位于键盘顶部,但位于
EditText
下方。我尝试在清单中声明调整大小,但没有用,因为操作发生在我的
下拉列表中,而不是在我的活动中。我知道有一种方法可以通过编程实现,但需要一些帮助,谢谢。代码如下:

 layout = inflater.inflate(R.layout.popup, (ViewGroup)findViewById(R.layout.main));
            pw = new PopupWindow(layout,LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT, true);
            pw.setBackgroundDrawable(new BitmapDrawable());
            pw.setOutsideTouchable(true);
            pw.showAsDropDown(dropdown1);

          pw.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
                   //This does not work

该设置是清单的一部分。在活动中,您可以将android:WindowsOfInputMode设置为adjustPan或adjustResize。在调整大小时,整个活动将以较小的尺寸再次展开。对于pan,它将向上或向下滚动,并承诺带有焦点的文本框将出现在视图中。这是你唯一能控制的。默认设置是让系统根据滚动元素的存在进行选择。在我看来,pan可能适合您。

是的,我知道,但是当我在清单中声明它时,它对我的下拉窗口没有影响,它仍然使用默认的和pan。平移不是我想要的选项,因为它仍然覆盖着按钮,我需要调整大小