在android中显示键盘时不调整DialogFragment

时间:2018-03-07 06:21:36

标签: android android-layout android-dialogfragment

显示dialogfragment时,

keyboard会调整大小。

        android:windowSoftInputMode="adjustNothing"

也不起作用。

如何在dialogfragment显示时禁用keyboard大小调整?见图像

here

见清单:

 <activity
            android:name=".ordering.OrderingActivity"
            android:exported="true"
            android:screenOrientation="sensorLandscape"
            android:windowSoftInputMode="adjustNothing"/>

我的DialogFragment类:

    @Override
public void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setStyle(STYLE_NO_TITLE, R.style.DialogFullScreen);
}

@Override
public void onStart() {
    super.onStart();

    Dialog dialog = getDialog();

    if(dialog != null){
        Point point = new Point();
        dialog.getWindow().getWindowManager().getDefaultDisplay().getSize(point);

        dialog.getWindow().setLayout((int) ((point.x) * .7), ViewGroup.LayoutParams.MATCH_PARENT);
        dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
    }
}

1 个答案:

答案 0 :(得分:0)

在创建Dialog对象或继承Dialog类

时写下以下行
customeDialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN); 

还请在Manifest中将其放在下面

 android:windowSoftInputMode="adjustNothing"