【问题标题】:Prevent Keyboard from hiding the submit button of alert Dialog防止键盘隐藏警报对话框的提交按钮
【发布时间】:2017-03-28 19:26:10
【问题描述】:

我有一个自定义 Spinner 类,它使用警报对话框来显示其内容,它有“提交”和“取消”按钮。警报对话框有一个编辑文本,其他只是只读标签。单击编辑文本时,会出现虚拟键盘,它会向上移动布局,但按钮仍然隐藏。我希望按钮也可见。

到目前为止我尝试过的事情:- 显现 :- android:windowSoftInputMode="stateVisible|adjustResize" android:windowSoftInputMode="adjustPan"

在活动类中:- this.getWindow().setSoftInputMode( WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);

只是移动屏幕足以不隐藏编辑文本,因为我的按钮仍然不可见。

【问题讨论】:

  • 你能显示你的 AlertDialog contentView 的 xml 代码吗?
  • @tahsinRupam 我只是使用默认警报对话框,没有 xml 文件。它在自定义微调器类中被调用。
  • 在你的活动中添加这个:getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE); 而不是SOFT_INPUT_ADJUST_PAN
  • @rafsanahmad007 它不工作。
  • getWindow() 需要在 alertdialog 上应用,例如:alertDialog.getWindow()...在清单中:android:windowSoftInputMode="adjustResize|stateHidden"

标签: android android-alertdialog


【解决方案1】:

你不能。键盘的高度由键盘决定 - 它不能做得更小。键盘的规则是,如果光标被覆盖,除非所有移动都被关闭,否则它将滚动所有内容以使光标在屏幕上。没有办法告诉操作系统滚动它更多。有调整大小,但我不确定这是否适用于警报对话框 - 我认为那些仍然全屏显示。键盘 API 不适合您的用例。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-22
    • 1970-01-01
    • 2019-04-27
    • 2011-12-22
    • 1970-01-01
    • 1970-01-01
    • 2011-10-30
    • 1970-01-01
    相关资源
    最近更新 更多