Java设置edittext光标,如何改变的EditText光标高度?

I want to change the EditText cursor height, does anyone know how?

解决方案

I had to dig far into the Android source to find the answer to this, but you essentially have to use padding on a custom shape drawable.

note: only works on API 12 and greater due to support for textCursorDrawable

Use positive top padding to move the top of your cursor higher

User positive bottom padding to move the bottom of your cursor lower

I usually end up using negative bottom padding to shorten the cursor because the it drops too low below baseline when you increase the line height with lineSpacingMultiplier or lineSpacingExtra.

example cursor_red.xml:

android:shape="rectangle" >

android:width="2dip" />

android:color="@color/red" />

android:top="2sp"

android:bottom="-11sp" />

This will make a 2dip wide red cursor that is

2sp higher (longer) at the top

11sp higher (shorter) on the bottom.

Then in your edittext, just specify android:textCursorDrawable:

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:textCursorDrawable="@drawable/cursor_red" />

Relevant Android source code inside Editor.java from which I figured out the solution:

private void updateCursorPosition(int cursorIndex, int top, int bottom, float horizontal) {

...

mCursorDrawable[cursorIndex].getPadding(mTempRect);

...

mCursorDrawable[cursorIndex].setBounds(left, top - mTempRect.top, left + width,

bottom + mTempRect.bottom);

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/294436.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android之应用程序如何调用支付宝接口

http://blog.csdn.net/lilidejing/article/details/19483717 最近在做一个关于购物商城的项目,项目里面付款这块我选的是调用支付宝的接口,因为用的人比较多。 在网上搜索了以下,有很多这方面的教程,但大部分教程过于陈旧&#xf…

andriod之应用内置浏览器 webview

参考:http://my.eoe.cn/694183/archive/10476.html http://blog.csdn.net/it_ladeng/article/details/8136534 一.webView获取html页面中标签的方法: 1.在WebViewClient里的onPageFinished回调方法中执行js代码: view.loadUrl("javascri…

权威解读 | 人类社会正进入DT时代 如何激活生产力?

导语当前,DT产业正在转入“快速发育”及“应用拉动”的发展阶段。 DT时代的新范式雏形初现。从工业时代到信息时代,从IT时代再到DT时代,不只是单个点上的技术突破、模式创新,而是已经发生了数轮包括“基础设施生产要素支柱产业分工…

分析纯文本外链在SEO优化方面的作用

在传统的SEO优化的角度上来看,超文本,锚文本以及纯文本的外链权重是依次递减的,所以很多人不愿意做纯文本外链,认为做纯文本外链无效的,笔者曾经一度也是这么认为,但是经过笔者优化网站一段时间之后&#x…

整整26本!由单墫教授主编、葛军等人操刀的高中数学教材都在这里!

全世界只有3.14 % 的人关注了爆炸吧知识我国从20世纪50年代以来,中学数学教学大纲虽经历多次修订,但都有一个共同的指导思想,就是搞好三基,同时强调指出,正确理解数学概念是掌握数学基础知识的前提。而当前我国数学教学…

如何通过 C# 将桌面截屏为图片?

咨询区 Omar Abid我想通过代码获取当前的电脑屏幕并保存为一张图片,就好像键盘的 截屏 按钮功能,请问这该如何实现?我没有好思路。回答区 Gary Willoughby:如果你的程序是 framework >2.0 的话,完全可以使用 CopyFr…

java里面什么时候环境变量_Java的环境变量什么时候需要设置?

1.在用MyEclipse开发的时不用配置环境变量,因为MyEclipse是个集成的IDE,之中指定了jre。环境变量配置与否和开发没有关系,环境变量是给成品用的。2. 除非要在命令行下用javac命令来编译java程序,否则不需要设置classpath环境变量&…

链表之单链表约瑟夫问题(三)

约瑟夫环(约瑟夫问题)是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。通常解决这类问题时我…

PHP语言 -- Ajax 查询数据

<body><select id"sel"></select><div><br/> <input type"button" id"btn" value"出现"/></div></body><script type"text/javascript">$(document).ready(function…

SQL Server 2008如何导出带数据的脚本文件

SQL之前的版本导出脚本的时候只能把数据表的结构导出&#xff0c;却不能把其中的数据一齐导出来&#xff0c;在平时的应用中难免有时希望获取数据导出的脚本&#xff0c;比如有时SQL版本不一样的时候&#xff0c;无法把高版本的数据库备份直接还原到低版本的数据库中&#xff0…

1 加到 100 的 时间复杂度 C#.

1 //1 加到 100 的 时间复杂度:2 int n 100;3 int sum 0;4 for(int i 1; i < n; i){5 sum i;6 }7 T(1) 1; //Initialize n.8 T(2) 1; //Initialize sum.9 T(3) 1; //Initialize i. 10 T(4) n 1; //i needs to compared with n 1 times. 11 T(5) …

女生:???

1 快速打个漂亮的领带&#xff0c;男生快来get√2 站住&#xff01;把小鱼干留下再走&#xff01;3 被狗子秀了一脸4 女生&#xff1a;&#xff1f;&#xff1f;&#xff1f;5 夏天的你vs冬天的你6 地球最濒危的兔种&#xff1a;Columbia Basin Pygmy Rabbit 7 你看 我们女孩子…

链表之判断一个链表是否为回文结构(一)

package com.zuo.linkedlist;import java.util.Stack;import com.zuo.linkedlist.Josephuskill2.Node;/*** 题目:给定一个头结点,判断该链表是否回文结构* 例如:* 1->2->1 true* 1->2->2->1 true* 1->2->3 false**思路一:*我们把链表的每个节点压入st…

C# WPF MVVM开发框架Caliburn.Micro 关于Conventions⑧

01—关于ConventionsCaliburn.Micro的一个主要特性是&#xff0c;它能够通过一系列约定消除对锅炉铭牌代码的需求。有些人喜欢习俗&#xff0c;有些人讨厌习俗。这就是为什么CM的约定是完全可定制的&#xff0c;如果不需要&#xff0c;甚至可以完全关闭。如果您要使用约定&…

JAVA类思维_面向对象思维 Java中的类和对象及其应用

一、面向过程与面向对象面向过程: 从事务执行者的角度思考问题,我该干什么 重点在过程----事务流程面向对象: 从事务的指挥者角度思考问题,我应该找谁干什么 重点在对象面向对象的优点:1.将复杂问题简单化2.从事务的执行者转化为事物的指挥者3.更贴近人的思维(懒人思想)二、类…

这部纪录片央视发力了,每一帧都可以当壁纸,BBC也无法超越

全世界只有3.14 % 的人关注了爆炸吧知识地球上已知的植物有三十多万种&#xff0c;其中十分之一生长在中国。这些植物不仅为中国带来福祉&#xff0c;还不断迁徙到世界各地。在人类的不懈努力下&#xff0c;它们又获得了新的姿态&#xff0c;为不同的文明带来不一样的色彩。《影…

C# 反射机制

C# 反射机制1、 什么是反射 2、 命名空间与装配件的关系 3、 运行期得到类型信息有什么用 4、 如何使用反射获取类型 5、 如何根据类型来动态创建对象 6、 如何获取方法以及动态调用方法 7、 动态创建委托 1、什么是反射 Reflection&#xff0c;中文翻译为反射。 …

链表之判断一个链表是否为回文结构(二)

package com.zuo.linkedlist;import java.util.Stack;import com.zuo.linkedlist.IsPalindrome1.Node;/*** 题目:给定一个头结点,判断该链表是否回文结构* 例如:* 1->2->1 true* 1->2->2->1 true* 1->2->3 false* 思路:我们针对前面进行优化,空间复杂…

python 正则使用笔记

python正则使用笔记 def remove_br(content):"""去除两边换行符"""content content.replace("<br>", "<br />").replace("<br >", "<br />")while re.findall("^<br …

Jquey将序列化对象在前台显示地几种方式

<1>序列化对象为单个对象的时候 //Student person new Student() { Name "张三",Code"001" }; //JavaScriptSerializer json new JavaScriptSerializer(); //string str json.Serialize(person); context.Response.Write(str); 前台Jq…