Android 去除EditText边框,添加下划线,

自定义EditText绘制下划线
本文介绍如何通过重写Android中的EditText类来自定义带有下划线的输入框,并展示了如何在布局文件中使用该自定义组件及设置相关属性。

首先:重写EditText

//请在这里添加您的包名  
import android.content.Context;  
import android.graphics.Canvas;  
import android.graphics.Color;  
import android.graphics.Paint;  
import android.util.AttributeSet;  
import android.widget.EditText;  
  
public class LineEditText extends EditText {  
  
    private Paint mPaint;  
    /** 
     * @param context 
     * @param attrs 
     */  
    public LineEditText(Context context, AttributeSet attrs) {  
        super(context, attrs);  
        // TODO Auto-generated constructor stub  
        mPaint = new Paint();  
          
        mPaint.setStyle(Paint.Style.STROKE);  
        mPaint.setColor(Color.BLUE);  
    }  
      
    @Override  
    public void onDraw(Canvas canvas)  
    {  
        super.onDraw(canvas);  
          
//      画底线  
        canvas.drawLine(0,this.getHeight()-1,  this.getWidth()-1, this.getHeight()-1, mPaint);  
    }  
}  

其次:设置LineEditText

<?xml version="1.0" encoding="utf-8"?>  
<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,可以设置字体颜色

最后:应用LineEditText

import android.app.Activity;  
import android.content.Context;  
import android.graphics.Canvas;  
import android.graphics.Color;  
import android.graphics.Paint;  
import android.graphics.Rect;  
import android.os.Bundle;  
import android.text.InputFilter;  
import android.util.AttributeSet;  
import android.widget.EditText;  
  
public class LineEditTextTest extends Activity {  
    /** Called when the activity is first created. */  
    private EditText mEdit;  
    @Override  
    public void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.main);  
          
        mEdit=(LineEditText)findViewById(R.id.myEdit);  
        mEdit.setHint("从这里开始输入...");  
        mEdit.setSingleLine();  
        mEdit.setFilters(new InputFilter[]{new InputFilter.LengthFilter(20)});  
    }  
      
}  

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值