📅  最后修改于: 2023-12-03 15:13:22.445000             🧑  作者: Mango
在 Android 开发中,EditText 是常用的控件之一,通常用于用户输入信息。在实际开发中,我们可能需要对EditText进行不同的样式设置,以满足设计需求。本文将介绍一些常见的样式设置。
可以通过android:textColor
属性来修改EditText文字颜色:
<EditText
android:id="@+id/et_username"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="@color/black" />
可以通过android:textSize
属性来修改EditText文字大小:
<EditText
android:id="@+id/et_username"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="18sp" />
可以通过android:background
属性来修改EditText输入框颜色:
<EditText
android:id="@+id/et_username"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/shape_edittext_bg" />
其中shape_edittext_bg
为一个定义好的样式资源文件,可用于设置EditText的背景颜色、圆角等。示例代码如下:
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<corners android:radius="2dp" />
<solid android:color="@color/white" />
<stroke
android:width="1dp"
android:color="@color/grey" />
</shape>
我们可以通过自定义控件的方式,实现自定义下划线的样式。示例代码如下:
<com.example.customview.EditTextWithUnderline
android:id="@+id/et_username"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="@color/black" />
其中EditTextWithUnderline
是一个自定义的View,实现了下划线样式的绘制。示例代码如下:
public class EditTextWithUnderline extends AppCompatEditText {
private Paint mPaint;
public EditTextWithUnderline(Context context) {
super(context);
init();
}
public EditTextWithUnderline(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public EditTextWithUnderline(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init();
}
private void init() {
mPaint = new Paint();
mPaint.setStyle(Paint.Style.STROKE);
mPaint.setColor(getResources().getColor(R.color.grey));
mPaint.setStrokeWidth(1);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.drawLine(0, getHeight() - 2, getWidth(), getHeight() - 2, mPaint);
}
}
在输入框后面添加一个清除按钮,用户点击清除按钮可以清空输入框内容。示例代码如下:
<androidx.appcompat.widget.AppCompatEditText
android:id="@+id/et_username"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/shape_edittext_bg"
android:drawableEnd="@drawable/ic_clear"
android:drawablePadding="8dp"
android:padding="8dp"
android:maxLines="1"
android:textColor="@android:color/black" />
其中android:drawableEnd
属性设置清除按钮的图标,android:drawablePadding
属性设置图标与文字的距离。
通过对以上几种样式的设置,我们可以满足不同的设计需求,从而提升用户体验。