Android自定义简洁版EditText

时间:2023-03-10 06:36:54
Android自定义简洁版EditText

Android开发中有些主题的EditText不能让我们满意,我们通常希望文本输入框是一条直线,这样显得简洁又美观。

这里我们自定义了一个MyEditText类,继承EditText类,可以实现一条线的文本输入框,MyEditText的类代码如下:

 1 import android.content.Context;
2 import android.graphics.Canvas;
3 import android.graphics.Color;
4 import android.graphics.Paint;
5 import android.util.AttributeSet;
6 import android.widget.EditText;
7
8 //自定义文本框类
9 public class MyEditText extends EditText {
10 private Paint mPaint;
11 public MyEditText(Context context, AttributeSet attrs){
12 super(context,attrs);
13 mPaint = new Paint();
14 mPaint.setStyle(Paint.Style.STROKE);
15 mPaint.setColor(Color.BLACK);
16 }
17 @Override
18 public void onDraw(Canvas canvas){
19 super.onDraw(canvas);
20 canvas.drawLine(0, this.getHeight() - 1, this.getWidth() - 1, this.getHeight() - 1, mPaint);
21 }
22 }

在layout中使用我们自定义好的文本输入框,代码如下:

1 <com.example.klose.EditTextTest.MyEditText
2   android:layout_width="match_parent"
3   android:layout_height="match_parent"
4   android:id="@+id/beizhu_edittext"
5   android:layout_marginTop="30dp"
6   android:textSize="18sp"
7   android:background="@null" />

来看看我们自定义EditText的效果:

Android自定义简洁版EditText