1. 程式人生 > >Android中EditText被輸入法軟鍵盤遮擋的完美解決方案(非全屏模式下)

Android中EditText被輸入法軟鍵盤遮擋的完美解決方案(非全屏模式下)

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"/>