要在不同分辨率的设备上适配 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 编辑框。