首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

android自定义带上划线EditText

2012-09-28 
android自定义带下划线EditText最近做项目,需要用到带下划线的EditText,通过学习Android提供的示例Notepad

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

热点排行