###EditText怎样设置成下滑线
android5.0以后开始兴起一片扁平化的UI风,现在android系统自带的edittext是一个带有凹凸感的框,不适合扁平化的设计,而且edittext的自带属性中没有设置样式的属性。那么我们想把edittext设置成一条下划线的形式,就只能重新自定义一个edittext,重写他的ondraw方法;代码如下:![微笑](https://box.kancloud.cn/2016-01-18_569ca449c5105.gif)
~~~
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的时候才能生效。以下是效果图:
![](https://box.kancloud.cn/2016-04-25_571e21521c13a.jpg)
看起来是不是非常的扁平化呢!好了自定义edittext实现下划线!
希望对各位的学习和工作有所帮助!谢谢!
- 前言
- viewpager
- 实现横向listview(HorizontalListview)
- SimpleAdapter的使用
- 自定义android圆形ImageView
- 如何解决listView或scrollView+viewpager手势冲突的问题
- EditText怎样设置成下划线
- Android中Display及DisplayMetrics理解
- android开发小经验总结
- listView动态影藏显现列表项中的多项部分
- Android开发中怎样使用cookieManager来管理cookie
- 学习Android从0开始之背景篇-Android系统介绍
- 学习Android从0开始之开发工具篇-Android studio详解
- 学习Android从0开始之基础篇(1)-Android的四大基本组件
- 学习Android从0开始之基础篇(2)-AndroidMainfest.xml文件详解
- 学习Android从0开始之基础篇(3)-视图组件之布局管理器
- 学习Android从0开始之基础篇(4)-TextView与EditText