高版本的edittext设置光标位置中光标只有一半怎么解决

Android EditText中字符大小与光标位置 - 凌寒00 - 博客园
Powered by:
模板提供:
& & & 最近的工作需要自己写一个数字键盘用于数字的输入,采用的方法是自定义一个 &Dialog,然后将数字显示在EditText中。在处理过程中遇到遇到一个问题,在EditText的点击事件中屏蔽系统键盘并弹出自定义的Dialog,无法获取用户选中的字符即Selection,造成的问题现象是用户不能选中中间某个位置修改输入值。
  为了解决这一问题,需要在EditText的点击事件中获取Selection。
  解决方法是:1、在EditText点击事件中获取用户点击位置,主要取其中的touchX值(这里主要讨论文字方向为横排的情况);
        2、获取EditText的内边距paddingLeft值(包含左内边距和右内边距,此处仅讨论左对齐情况);
        3、获取文字大小textSize(此值得大小与XML文件中设置的大小和单位有关系,最好使用sp。使用getTextSize方法得到的值是已经经过系统字体大小加权后的值,但不是实际显示的字体大小,实际字体大小应该通过此值乘以textScaleX得到。默认情况下得到的单位为px,其他情况可以使用getTextSize重载的另一个方法,根据单位返回相应的值);
        4、获取EditText的textScaleX(这个值用于计算字体显示的实际大小);
  获取以上值之后就可以来计算字符的实际大小。这里说明一下:汉字、数字、大写字母、小写字母显示大小是不同的,其中汉字大小为textSize*textScaleX,数字大小为textSize*textScaleX/2,字母的大小与具体字母有关。此处仅使用数字来讨论。
  数字大小计算公式:numSize =&textSize*textScaleX/2*1.1;//此处乘以1.1的作用是加上数字之间的间隔距离,通过实际测量计算,字符之间间隔是字符大小的0.1倍
  光标位置计算: selection = (int)((touchX -&paddingLeft)/(numSize&));//此处直接取整,可将光标定位到第一个字符之前
  另外应检查selection 是否超出EditText中实际字符长度或小于0,并进行相应处理。
阅读(...) 评论()【已解决】EditText设置多行的时候,光标在首行 &
【已解决】EditText设置多行的时候,光标在首行
【已解决】EditText设置多行的时候,光标在首行
问题描述:
,当你设置一个的高度(如,150dp),或者时,默认的位置是居中显示的,如何设置成在第一行显示呢?
原因分析:
默认 组件的 android:gravity 这个属性的值为 center
解决方法:
设置属性:android:gravity="top"
Linux系统与内核学习群:
WP建站技术学习交流群:
魔豆的Linux内核之路
优秀工程师当看优秀书籍
赞助商广告<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
您的访问请求被拒绝 403 Forbidden - ITeye技术社区
您的访问请求被拒绝
亲爱的会员,您的IP地址所在网段被ITeye拒绝服务,这可能是以下两种情况导致:
一、您所在的网段内有网络爬虫大量抓取ITeye网页,为保证其他人流畅的访问ITeye,该网段被ITeye拒绝
二、您通过某个代理服务器访问ITeye网站,该代理服务器被网络爬虫利用,大量抓取ITeye网页
请您点击按钮解除封锁&android不同手机对于edittext光标显示样式不一,所以如果设置不同手机显示一样的效果呢,统一设置一个样式就可以了
android不同手机对于edittext光标显示样式不一,所以如果设置不同手机显示一样的效果呢,统一设置一个样式就可以了,示例代码如下:
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textCursorDrawable="@drawable/color_cursor"/&
样式文件:
&?xml version="1.0" encoding="utf-8"?& &
&shape xmlns:android="/apk/res/android" &
& & android:shape="rectangle"& &
& & &size android:width="1dp" /&
& & &solid android:color="#000000"& /&
&/shape& &
& 开源中国(OSChina.NET) |
开源中国社区(OSChina.net)是工信部
指定的官方社区

我要回帖

更多关于 edittext光标移到最后 的文章

 

随机推荐