Android 在软键盘顶部显示弹出窗口
我正试图在我的编辑文本顶部显示我的弹出窗口(有软键盘),我该怎么做?考虑我的编辑文本有代码> Android:Max行=“5”< /代码>,Y位置并不总是相同的。这就是我到目前为止得到的Android 在软键盘顶部显示弹出窗口,android,android-edittext,android-softkeyboard,popupwindow,android-popupwindow,Android,Android Edittext,Android Softkeyboard,Popupwindow,Android Popupwindow,我正试图在我的编辑文本顶部显示我的弹出窗口(有软键盘),我该怎么做?考虑我的编辑文本有代码> Android:Max行=“5”< /代码>,Y位置并不总是相同的。这就是我到目前为止得到的 private void createPopUpWindow() { View newView = getActivity().getWindow().getDecorView(); // this = activity int[] loc = new int[2]; pivot.ge
private void createPopUpWindow() {
View newView = getActivity().getWindow().getDecorView(); // this = activity
int[] loc = new int[2];
pivot.getLocationInWindow(loc);
int topOfPivot = loc[1];
Integer positionY = topOfPivot;
popupWindow.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
popupWindow.showAtLocation(newView, Gravity.BOTTOM, 0, positionY);
frameLayout.getForeground().setAlpha(15);
editText.setSelection(editText.getText().length());
}
有什么建议吗
如果检测到键盘已打开,最好在页面底部放置一个布局。当键盘打开时,你的应用程序会自动调整大小并调用
onConfigurationChanged
。问题是弹出窗口并不总是显示,它会根据键入的内容显示,因此onConfigurationChanged不能作为触发器,弹出窗口的触发器是我的editText.addTextChangedListenerok。那就更容易了。您应该能够使用相对布局,只需将此布局放入其中即可android:layout\u alignParentBottom=“true”
,高度为wrap\u content
。设置此布局,直到您的侦听器调用它。如果您检测到键盘已打开,您最好在页面底部放置一个布局。当键盘打开时,你的应用程序会自动调整大小并调用onConfigurationChanged
。问题是弹出窗口并不总是显示,它会根据键入的内容显示,因此onConfigurationChanged不能作为触发器,弹出窗口的触发器是我的editText.addTextChangedListenerok。那就更容易了。您应该能够使用相对布局,只需将此布局放入其中即可android:layout\u alignParentBottom=“true”
,高度为wrap\u content
。设置此布局,直到您的侦听器调用它。