Android- AlertDialog在FullscreenActivity中切换时不会移动到键盘上方

时间:2017-06-12 09:47:20

标签: android android-alertdialog

我有一个对话框,其中一个EditText与软输入键盘重叠。我已经尝试过我喜欢的所有帖子

 dialog.getWindow().setSoftInputMode(ADJUST_RESIZE)

并为对话框设置主题,但它们都不起作用。我认为我的全屏活动已经改变了一些东西,但我不知道它是什么

 View layout= LayoutInflater.from(context).inflate(R.layout.add_bookmark_dialog_layout,null);
    final EditText note=(EditText)layout.findViewById(R.id.bookmark_note);
    TextView page= (TextView)layout.findViewById(R.id.bookmark_page);
    TextView file=(TextView)layout.findViewById(R.id.bookmark_file);
    page.setText(String.valueOf(currentPage));
    file.setText(fileName);
    AlertDialog.Builder builder=new AlertDialog.Builder(context).setView(layout).setTitle("Add New Bookmark").setPositiveButton("OK", new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            Bookmark newBookmark= db.addBookmark(currentPage,note.getText().toString(),fileName);
            adapter.add(newBookmark);
        }
    }).setNegativeButton("Cancel",null);
    AlertDialog dialog=builder.create();
   //Not working : dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
    dialog.show();

这是我的 AndroidManifest.xml

 <application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity android:name=".MainActivity" android:launchMode="singleTop">
        <intent-filter>
            <action android:name="android.intent.action.MAIN"  />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
//where dialog pop up
    <activity
        android:name=".ReadingActivity"
        android:configChanges="orientation|keyboardHidden|screenSize"
        android:label="@string/title_activity_reading"
        android:parentActivityName=".MainActivity"
        android:theme="@style/FullscreenTheme"></activity>
</application>

1 个答案:

答案 0 :(得分:0)

在清单

中添加以下代码
android:windowSoftInputMode="adjustResize"

所以最后的代码是

 <activity
        android:name=".ReadingActivity"
        android:configChanges="orientation|keyboardHidden|screenSize"
        android:label="@string/title_activity_reading"
        android:windowSoftInputMode="adjustResize"
        android:parentActivityName=".MainActivity"
        android:theme="@style/FullscreenTheme"></activity>