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

更多相关文章

  1. [Android] 通过代码调用返回键
  2. Android浸入式
  3. 安卓基础学习(android studio)
  4. android4.0 上定制状态栏
  5. INSTALL_FAILED_SHARED_USER_INCOMPATIBLE 解决终极办法
  6. Android(安卓)获取当前时间及时间戳的互换
  7. android 卸载程序、清除数据、停止服务用法
  8. android studio导工程出现Error:Execution failed for task ':ap
  9. Android(安卓)couldn't find xxx.so 问题解决 兼容解决

随机推荐

  1. Nexus 6P 外媒评测:华为造出了最好的 Andr
  2. 谷安: 米国军方的 iOS、Android、Windows
  3. 在Android中监控来电和去电
  4. 【Android】Android NDK开发扫盲及最新CM
  5. Android转场动画和共享元素动画兼容5.0以
  6. (译文)如何成为一个更好的Android开发者:30
  7. 在Android中调用WebService
  8. Android中init进程的工作
  9. Android初体验之星座及生肖查询的思路
  10. 说说android下TV版本UC浏览器模拟鼠标的