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的效果: