`
heisedeyueya
  • 浏览: 96693 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类

android自定义带下划线EditText

阅读更多
最近做项目,需要用到带下划线的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);
	}

	@Override
	public 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);
	}

}


  • 大小: 19.3 KB
分享到:
评论
2 楼 megocdy 2013-09-30  
大屏手机上字体无法居中,各种属性都试了,还是不行
1 楼 ttzc121 2013-07-11  
光标压线的问题解决了吗啊

相关推荐

Global site tag (gtag.js) - Google Analytics