六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 79|回复: 0

android自定义带下划线EditText

[复制链接]

升级  1.33%

16

主题

16

主题

16

主题

秀才

Rank: 2

积分
52
 楼主| 发表于 2013-1-14 17:59:24 | 显示全部楼层 |阅读模式
最近做项目,需要用到带下划线的EditText,通过学习Android提供的示例Notepad,对其进行小小的改动,解决文字压线的问题,但是光标压线的问题没有解决,希望以后能够解决,效果和代码如下:
效果图:

代码:
public class UnderlineEditText extends EditText {private static final String TAG = "UnderlineEditText";private Paint mPaint;private Rect mRect;private float mult = 1.5f;private float add = 2.0f;public UnderlineEditText(Context context, AttributeSet attrs) {super(context, attrs);init();}public UnderlineEditText(Context context) {super(context);init();}private void init() {mRect = new Rect();mPaint = new Paint();mPaint.setStyle(Paint.Style.STROKE);mPaint.setColor(Color.GRAY);mPaint.setAntiAlias(true);this.setLineSpacing(add, mult);}@Overridepublic void onDraw(Canvas canvas) {Log.d(TAG, "func [onDraw]");int count = getLineCount();for (int i = 0; i < count; i++) {getLineBounds(i, mRect);int baseline = (i + 1) * getLineHeight();canvas.drawLine(mRect.left, baseline, mRect.right, baseline, mPaint);}super.onDraw(canvas);}}
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表