我通过扩展View从头开始创建自己的Mongolian垂直脚本TextView(和EditText).我试图理解闪烁光标是如何在

Android TextView source code中实现的.它似乎是由

Editor class的mEditor实例处理的.在那个类中我找到了一个drawCursor方法:

private void drawCursor(Canvas canvas, int cursorOffsetVertical) {

final boolean translate = cursorOffsetVertical != 0;

if (translate) canvas.translate(0, cursorOffsetVertical);

for (int i = 0; i < mCursorCount; i++) {

mCursorDrawable[i].draw(canvas);

}

if (translate) canvas.translate(0, -cursorOffsetVertical);

}

显然,光标本身是某种类型的Drawable.

所以我找到了碎片,但我看不到森林穿过树林.能比我理解得更好的人能用简单的英语告诉我闪烁的光标是如何工作的吗?

以下是我不太了解的一些具体要点:

>光标与TextView(或EditText),Layout,Editor和Drawable的关系.

>每次光标闪烁时,是重绘所有文本还是只重绘光标区域?

注意:

当我问到时,接受的答案回答了我的问题.但是,如果有人可以添加一个更详细解释事物的更规范的答案,我会很高兴接受一个不同的答案.

android 光标的绘制,Android EditText(TextView)如何绘制闪烁的光标?相关推荐

  1. 【Android 应用开发】Android UI 设计之 TextView EditText 组件属性方法最详细解析

    . 作者 :万境绝尘  转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/18964835 . TextView 相关类的继承结构 ...

  2. Android开发8:UI组件TextView,EditText,Button

    版本:Android4.3 API18 学习整理:liuxinming TextView 概述 TextView直接继承了View(EditText.Button两个UI组件类的父类) TextVie ...

  3. android input鼠标坐标,android - 如何在EditText中设置光标位置?

    android - 如何在EditText中设置光标位置? 有两个EditText,在加载页面时,第一个EditText中设置了一个文本,所以现在光标将在EditText的起始位置,我想在第二个Edi ...

  4. android edittext光标太大,Android中EditText样式修改 聚焦光标、背景

    在Android开发中,根据项目的需求,需要定制一些特殊的样式,例如:使用EditText时,聚焦时的背景及光标图片使用自定义而非android系统默认的.这两天,在项目中涉及此需求,现记录如下: 首 ...

  5. android edittext 光标监听,Android EditText监听器,用于光标位置更改

    我有一个EditText对话框. EditText在创建时已经填充.当用户将光标放置在文本的特定部分或其附近时,Toast将弹出. 我的问题是监听光标位置的变化.另一个post提出同样的问题,并且接受 ...

  6. Android中的基础控件TextView、Button、ImageView、EditText、ProgressBar

    文章目录 1 Android中的基础控件 1.1 控件的通用属性 2 TextView 2.1 TextView的继承关系 2.2 TextView的常用属性 3 EditText 3.1 常用属性 ...

  7. android 默认光标大小设置,如何默认光标位置设置的EditText

    权 我已经实现了一个EditText,我想文本开始从它是正确的,我通过一套如何默认光标位置设置的EditText gravity = right 实现,但默认光标仍然显示出来我的文字的左边. 这是我到 ...

  8. android按下enter键如何让光标跳到下一个edittext,我们如何知道光标已经移动到edittext的下一行android...

    我有一个编辑文本,我想知道如果光标已经移动到下一行或者没有移动到下一行我想调用一个新的功能.我怎样才能做到这一点? 有没有一种方法或功能,我可以知道光标已移动到下一行?我们如何知道光标已经移动到edi ...

  9. Android Studio --- [学习笔记]Button、TextView、EditText

    说明 源代码 为了更全面的了解RN,先熟悉一下Android开发 第1章 Android 初体验 1.1 Android开发概述 Android是Google开发的操作系统 Android开发是移动应 ...

  10. 解决android手机EditText设置光标颜色,android:textCursorDrawable=@drawable/corner_cursor 华为手机无效果的问题

    app开发,根据产品需求,需要修改输入框内,光标的颜色, 需要增加一个属性, android:textCursorDrawable="@drawable/corner_cursor" ...

最新文章

  1. 微软sql服务器关闭了会怎样,sql server 服务启动后 自动关闭 求
  2. 接连三次霸榜GitHub,这个国产GitHub项目是真的强...
  3. c#oracle数组超出,c# – ODP.net填充数据集时的Oracle Decimal Number精度问题.异常:算术运算导致溢出...
  4. Spring注释,我从来没有机会使用第1部分:@primary
  5. 全面认识UML类图元素
  6. iPhone 大降价;谷歌再爆丑闻;京东云金山云回应合并传闻 | 极客头条
  7. 选择在共享模式中运行时使用的采样频率和位深度_优化的逻辑(三)干扰相关及扫频仪的使用...
  8. urllib携带登录信息
  9. 讯飞输入法第11次作答:效率升维、场景细分、个性满足
  10. editplus使用php,EditPlus配置PHP调试环境详细图文介绍
  11. 测井 时深转换 matlab,时深转换操作步骤.pdf
  12. gson读取json字符串_通过Gson解析Json数据
  13. 如何巧妙应用shift键的解说
  14. 浏览器安全检查5秒解决方案
  15. 姓杨取名:杨姓女孩文雅有寓意的名字,真的是万里挑一
  16. matlab 怎麼卸載乾淨,matlab set gca用法
  17. Hadoop之POC测试总结
  18. 关于测试排期的那些事
  19. The Last Samurai 最后的武士**
  20. 数据预处理-离群值检测与处理

热门文章

  1. 跟着安全牛大表哥学渗透
  2. Memery of habit
  3. AURIX TC397 Multicore 多核
  4. UiPath 网页元素识别
  5. Win11找不到xinput1_3.dll怎么办?
  6. 萌爪医生微信小程序内部服务器错误,企业微信提示网络错误怎么回事
  7. Duplicate entry '0' for key 'PRIMARY' 分析及其解决办法
  8. 《一罐猪油》——迟子建
  9. 讲真,别再用文氏图(Venn diagram)解释 SQL 连接查询了!
  10. 常用的计算机优化软件有哪些,计算机常用的硬件和软件优化软件和优化方法有哪些,如何提高WindowsXP系统的运行速度和稳定性...