San*_*anj 32 android resize view android-softkeyboard android-alertdialog
我有一个AlertDialog
大约有10个控件(文本和TextView
)的盒子.这些控件是在ScrollView
与AlertDialog
,再加上我有2个按钮正面和负面的.我遇到的问题是当弹出软键盘时,两个按钮隐藏在键盘后面.
我在内部视图或对话框中寻找重绘功能.下面是我正在谈论的屏幕截图.
nmr*_*nmr 101
如果您的对话框是使用其中一个Dialog主题的活动,则可以通过设置活动参数的adjustResize
标志来实现此行为windowSoftInputMode
.
我正在使用:
android:windowSoftInputMode="adjustResize|stateHidden"
Run Code Online (Sandbox Code Playgroud)
我认为你仍然可以使用这个标志与常规对话框,但我不知道如何应用它.您可能必须使用自定义主题创建AlertDialog,该主题继承正确的父主题并设置该标志,或者您可能必须使用ContextThemeWrappers和东西.
或者你可以只使用Window#setSoftInputMode.
alertDialog.getWindow().setSoftInputMode(
WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
Run Code Online (Sandbox Code Playgroud)
小智 16
我找到了解决这个问题的最佳方法.因为这是一个对话框,所以代码
alertDialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
Run Code Online (Sandbox Code Playgroud)
效果不好.
除此代码外,还必须为此对话框设置对话框样式.风格如下:
<style name="DialogStyle" parent="@android:style/Theme.Black.NoTitleBar.Fullscreen">
<item name="android:windowFullscreen">false</item>
......
......
</style>
Run Code Online (Sandbox Code Playgroud)
注意,属性parent
是Theme.Black.NoTitleBar.Fullscreen
就像一个活动的风格.而属性android:windowFullScreen
应该是false
.
现在,当软键盘切换时,对话框将调整大小.
归档时间: |
|
查看次数: |
28136 次 |
最近记录: |