Android中EditText被輸入法軟鍵盤遮擋的完美解決方案(非全屏模式下)
阿新 • • 發佈:2019-01-01
1、不要給EditText的背景設定為@null 清單檔案中為activity設定屬性 程式碼中設定顯示輸入法
android:windowSoftInputMode=”stateVisible|adjustResize”
/**
* 展示輸入法輸入框
*/
public void showKeyBoard() {
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
}
2、設定一個透明的背景:input_edit_bg.xml
<?xml version="1.0" encoding="utf-8"?>
<inset xmlns:android="http://schemas.android.com/apk/res/android"
android:drawable="@color/transparent"
android:insetLeft="0dp"
android:insetRight="0dp"
android:insetTop="10dp"
android:insetBottom="10dp">
</inset>
3、在佈局檔案中使用當前背景設定給EditText
<EditText
android:id="@+ id/et_input"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/input_edit_bg"
android:singleLine="true"
android:textSize="@dimen/input_text_size"/>