需求:輸入框文字僅顯示在紅框區域內,兩側留白。解決:直接在 XML 佈局中為 EditText 設置 android:paddingLeft 和 android:paddingRight。
<EditText
android:id="@+id/et_input"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="20dp"
android:paddingRight="20dp"
android:hint="請輸入內容" />
paddingLeft:文字起始位置距左邊框距離。paddingRight:文字結束位置距右邊框距離。android:background) 會覆蓋整個控件區域,padding 內部留白,文字不會貼邊。EditText et = findViewById(R.id.et_input);
et.setPadding(leftPx, et.getPaddingTop(), rightPx, et.getPaddingBottom());
padding 不同於 margin:padding 內部留白 (背景覆蓋),margin 外部間距 (背景不覆蓋)。限制文字顯示區域用 padding。
簡單一行 XML 即可實現文字區域限制。