我在应用程序的其他地方有对话框,工作得很好(键盘不会隐藏视图),但在这个我写的新对话框中,当键盘打开时,它不会向上移动视图。
我的对话框布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:custom="http://schemas.android.com/apk/res-auto"
android:id="@+id/MyLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_margin="15dp"
android:background="@drawable/dialog_background"
android:clickable="true"
android:orientation="vertical"
custom:maxHeight="@dimen/dialog_max_height"
custom:maxWidth="@dimen/dialog_max_width" >
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:layout_marginBottom="10dp"
android:gravity="center"
android:text="something" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="vertical" >
<EditText
android:id="@+id/SomeEditText"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:minHeight="100dp"
android:layout_margin="15dp"
android:background="#ffffff"
android:gravity="right|top"
android:inputType="textMultiLine"
android:singleLine="false"
android:textColor="@color/edit_text_text_color"
android:textSize="16dp" />
</LinearLayout>
<Button
android:id="@+id/SomeButton"
android:layout_width="match_parent"
android:layout_height="@dimen/dialog_button_height"
android:layout_margin="15dp"
android:text="text" />
</LinearLayout>
我已经
android:windowSoftInputMode="adjustPan" >
在我的清单上。
3条答案
按热度按时间oalqel3c1#
找到了解决办法:
我输入:
getDialog().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
在onCreateDialog回呼中
2nc8po8w2#
我也遇到了同样的问题,通过将getDialog().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE)保存在oncreateview中,解决了这个问题
9w11ddsr3#
由于SOFT_INPUT_ADJUST_RESIZE从android 30开始已弃用,因此应使用
Window.setDecorFitsSystemWindows(boolean decorFitsSystemWindows)
下面是DialogFragment示例