EditText怎样设置成下划线

                                         EditText怎样设置成下滑线

android5.0以后开始兴起一片扁平化的UI风,现在android系统自带的edittext是一个带有凹凸感的框,不适合扁平化的设计,而且edittext的自带属性中没有设置样式的属性。那么我们想把edittext设置成一条下划线的形式,就只能重新自定义一个edittext,重写他的ondraw方法;代码如下:微笑

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.BLACK);
	}
	
	@Override
	protected void onDraw(Canvas canvas) {
		super.onDraw(canvas);
		/**canvas画直线,从左下角到右下角,this.getHeight()-2是获得父edittext的高度,但是必须要-2这样才能保证
		 * 画的横线在edittext上面,那样才看得见,如果不-2,你可以试一试看一下是否能看得见。
		 */
		canvas.drawLine(0, this.getHeight()-2, this.getWidth()-2, this.getHeight()-2, paint);
	}

}
这样自定义的LineEditText就好了,那么就可以在xml中使用他了

<com.youle.bige.view.LineEditText      
  android:layout_width="match_parent"       
 android:layout_height="wrap_content"     
   android:layout_marginLeft="30dp"      
  android:layout_marginRight="30dp"      
  android:layout_marginTop="20dp"    
    android:hint="@string/register_name"       
 android:singleLine="true"     
    android:background="@null"/>
请注意,上面有一句非常关键的代码,那就是
android:background="@null"
只有当background设置成null的时候才能生效。以下是效果图:

看起来是不是非常的扁平化呢!好了自定义edittext实现下划线!

                                                                     希望对各位的学习和工作有所帮助!谢谢!

  • 8
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值