Android--去除EditText边框,加入下划线

时间:2023-03-09 08:05:10
Android--去除EditText边框,加入下划线
<span style="font-family: Arial, Helvetica, sans-serif;"><?xml version="1.0" encoding="utf-8"?>    </span>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<!--注意名称 -->
<com.marine.study.LineEditText android:id="@+id/myEdit"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
style="? android:attr/textViewStyle"
android:background="@null"
android:textColor="@null"
/>
</LinearLayout>

当中background,能够设置成其它颜色等

textColor不一定要是null,能够设置字体颜色

加下划线

public class LineEditText extends EditText {
// 画笔 用来画下划线
private Paint paint; public LineEditText(Context context, AttributeSet attrs) {
super(context, attrs);
paint = new Paint();
paint.setStyle(Paint.Style.STROKE);
paint.setColor(Color.RED);
// 开启抗锯齿 较耗内存
paint.setAntiAlias(true);
} @Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
// 得到总行数
int lineCount = getLineCount();
// 得到每行的高度
int lineHeight = getLineHeight();
// 依据行数循环画线
for (int i = 0; i < lineCount; i++) {
int lineY = (i + 1) * lineHeight;
canvas.drawLine(0, lineY, this.getWidth(), lineY, paint);
} } }