好记性不如烂笔杆-android学习笔记<十四> EditText 画行,解决光标压线问题
2012-12-12 17:07
471 查看
这个问题我在网上看来很多方法,有些看得似懂非懂的,后来自己采用一种比较投机的方法,居然可行,呵呵,拿出来跟大家分享一下。
其实就是把画的线向下偏移一定高度,当然针对不同分辨率,这个值也就不同;
(因为我做的这个默认画15行,之后输入字符时也要检测,要保证两次画的线是一致的)
代码
可能我这个方法比较笨拙,如果哪位高手有更好的办法,先谢谢分享!
其实就是把画的线向下偏移一定高度,当然针对不同分辨率,这个值也就不同;
(因为我做的这个默认画15行,之后输入字符时也要检测,要保证两次画的线是一致的)
代码
protected void onDraw(Canvas canvas) { int count = getLineCount(); // method entends from TextView. Rect r = mRect; Paint paint = mPaint; //第一次画第一条线。以后每次输入,换行时仍然检测,继续画线 for (int i = 0; i < count; i++) { int baseline = getLineBounds(i, r); baseline += outY; //增加outY这个值可以调整画线的高度,将线向下偏移一定高度 canvas.drawLine(0, baseline + 1, r.right, baseline + 1, paint); } //根据判定条件,画出固定条数的线 if(count < linecount){ for (int j = count; j < linecount; j++) { float baseline = basicline + outY + j*linedistance; canvas.drawLine(0, baseline + 1, r.right, baseline + 1, paint); //get lineHeight 可以使用getLineHeight(); } } super.onDraw(canvas); }
可能我这个方法比较笨拙,如果哪位高手有更好的办法,先谢谢分享!
相关文章推荐
- 解决点击EditText不弹出键盘,但现实光标闪烁的问题
- 点击EditText 不显示光标 问题解决
- 好记性不如烂笔杆-android学习笔记<七>Handle用法
- 好记性不如烂笔杆-android学习笔记<八> Broadcase简单用法
- 解决状态栏加了颜色EditText被输入法遮挡问题(api>=19)
- 好记性不如烂笔杆-android学习笔记<一>
- 解决关于EditText输入框监听回车键enter时光标焦点不稳定问题
- 好记性不如烂笔杆-android学习笔记<九> Content Provider 数据共享机制
- 好记性不如烂笔杆-android学习笔记<二> Acitvity lifecycle 生命周期
- 好记性不如烂笔杆-android学习笔记<十> Dialog用法
- 好记性不如烂笔杆-android学习笔记<十一> Service的应用
- 好记性不如烂笔杆-android学习笔记<十六> switcher和gallery
- 好记性不如烂笔杆-android学习笔记<十二> Toast的使用
- 好记性不如烂笔杆-android学习笔记<三> RadioGroup 和 CheckBox的使用
- 好记性不如烂笔杆-android学习笔记<十三> Notification
- 好记性不如烂笔杆-android学习笔记<四> 布局用控件简单介绍
- 解决很少情况下EditText无法获取到光标的问题
- 好记性不如烂笔杆-android学习笔记<五> ListView用法
- 好记性不如烂笔杆-android学习笔记<十五> GridView简单用法
- 解决:android:editable is deprecated: Use an <EditText> to make it editable