要在不同分辨率的設備上適配 Android 編輯框(EditText),請遵循以下步驟:
使用相對布局(RelativeLayout)或約束布局(ConstraintLayout)作為根布局。這將允許您在不同屏幕尺寸上定位和調整 EditText 控件。
使用“wrap_content”和“match_parent”屬性。將寬度設置為“match_parent”可使 EditText 在水平方向上填充整個屏幕。而將高度設置為“wrap_content”會使其自動調整高度以適應內容。
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
使用“dp”而非“px”作為單位。dp(密度無關像素)會基于設備的像素密度自動縮放。這樣可以確保 EditText 在不同分辨率的設備上具有相似的大小。
為了更好地支持不同屏幕尺寸,您可以創建多個資源文件夾,如:
layout-small
layout-normal
layout-large
layout-xlarge
然后,根據屏幕尺寸為每個文件夾提供適當的布局文件。
在 AndroidManifest.xml 中添加支持屏幕尺寸的聲明:
<supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:xlargeScreens="true" />
EditText editText = findViewById(R.id.edit_text);
float scaledDensity = getResources().getDisplayMetrics().scaledDensity;
int textSize = (int) (16 * scaledDensity); // 16 is the default text size in sp
editText.setTextSize(TypedValue.COMPLEX_UNIT_PX, textSize);
通過遵循這些步驟,您應該能夠在不同分辨率的設備上適配 Android 編輯框。