当前位置: 代码迷 >> Android >> android自定义带上划线EditText
  详细解决方案

android自定义带上划线EditText

热度:58   发布时间:2016-05-01 13:43:38.0
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);	}}

  相关解决方案