android自定义带下划线EditText
16lz
2021-01-26
最近做项目,需要用到带下划线的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);}}
更多相关文章
- [Android] 通过代码调用返回键
- Android浸入式
- 安卓基础学习(android studio)
- android4.0 上定制状态栏
- INSTALL_FAILED_SHARED_USER_INCOMPATIBLE 解决终极办法
- Android(安卓)获取当前时间及时间戳的互换
- android 卸载程序、清除数据、停止服务用法
- android studio导工程出现Error:Execution failed for task ':ap
- Android(安卓)couldn't find xxx.so 问题解决 兼容解决