键盘遮挡输入框的处理
一方案:在其dialog或fragment中设置其属性:
修改点:
- 使用文件管理应用重命名文件,现象如下:
输入框被遮挡修改如下:
b/src/com/android/documentsui/dirlist/RenameDocumentFragment.java
index 8f8029e..cae7e86 100644
--- a/src/com/android/documentsui/dirlist/RenameDocumentFragment.java
+++ b/src/com/android/documentsui/dirlist/RenameDocumentFragment.java
@@ -49,6 +49,7 @@
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import com.google.android.material.textfield.TextInputLayout;
+import android.view.WindowManager;
/**
* Dialog to rename file or directory.
@@ -112,6 +113,7 @@
}
});
mEditText.requestFocus();
+ dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
return dialog;
}
修改后其效果如下:
补充:
在文件管理应用中创建文件夹,输入名称时异常,修改如下:
Date: Tue, 27 Dec 2022 13:45:47 +0800
Subject: [PATCH] 修改弹窗显示不全
Change-Id: Ib6d725d58eda6dd6463b0fb1b54828b5335703c6
---
diff --git a/src/com/android/documentsui/CreateDirectoryFragment.java b/src/com/android/documentsui/CreateDirectoryFragment.java
index f56c83b..8920e14 100644
--- a/src/com/android/documentsui/CreateDirectoryFragment.java
+++ b/src/com/android/documentsui/CreateDirectoryFragment.java
@@ -55,6 +55,7 @@
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import com.google.android.material.snackbar.Snackbar;
import com.google.android.material.textfield.TextInputLayout;
+import android.view.WindowManager;
/**
* Dialog to create a new directory.
@@ -116,6 +117,7 @@
}
});
editText.requestFocus();
+ dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
return dialog;
}