gpt4 book ai didi

java - 带有 EditText 的 Android 弹出窗口、键盘 block 文本、背景滚动

转载 作者:太空狗 更新时间:2023-10-29 14:26:57 24 4
gpt4 key购买 nike

我有一个 Popup,它在 ScrollView 中包含几个 EditText。当我单击 EditText 时,它会在后台向上 ScrollView ,而不是弹出窗口,因此键盘会阻止 EditText。

有什么想法吗?

PopupWindow popUp = new PopupWindow(this);
popUp.update(0, 0, display.getWidth(), display.getHeight());
popUp.setFocusable(true);

LinearLayout llh = new LinearLayout(this)
llh.setOrientation(LinearLayout.HORIZONTAL);
ScrollView sv = new ScrollView(this);

EditText e1,e2,e3...
llh.addView(e1);
llh.addView(e2);
llh.addView(e3);
...
sv.addView(llh);
popUp.setContentView(llh);
popUp.showAtLocation(llh, Gravity.BOTTOM, 0, 0);

这是从还包含 ScrollView 的 View “启动”的。

如果有解决方法,那就太好了。

最佳答案

我遇到了和你一样的问题,为了解决它,我创建了一个自定义的 Dialog 和一个自定义主题(R.style.ThemeDialogCustom 在下面例子)。我还设置了 dialog.requestWindowFeature(Window.FEATURE_NO_TITLE)dialog.setCanceledOnTouchOutside(true); 并使用 setContentView 设置了自定义布局。像这样:

Dialog dialog = new Dialog(activityContext, R.style.ThemeDialogCustom);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setCanceledOnTouchOutside(true);
dialog.setContentView(R.layout.custom_dialog_layout);

换句话说,上面的代码试图模仿 PopupWindow 的行为。

编辑 为了清楚起见,如果您需要访问在对话框的自定义布局中定义的 View ,您可以像这样访问它:

EditText e1 = (EditText) dialog.findViewById(R.id.e1);

希望对您有所帮助。

关于java - 带有 EditText 的 Android 弹出窗口、键盘 block 文本、背景滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11402529/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com