首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何将光标放在edittext的开头而不是整个edittext的中间?

要将光标放在EditText的开头而不是整个EditText的中间,可以使用以下方法:

  1. 在EditText获取焦点后,调用setSelection()方法将光标位置设置为0,即开头位置。

示例代码如下:

代码语言:txt
复制
EditText editText = findViewById(R.id.editText);
editText.requestFocus();
editText.setSelection(0);
  1. 如果想在EditText初始化时就将光标放在开头,可以在布局文件中设置android:gravity="start"属性,将文本对齐方式设置为开头。

示例代码如下:

代码语言:txt
复制
<EditText
    android:id="@+id/editText"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="start" />

这样设置后,当EditText获取焦点时,光标就会自动放在开头位置。

以上是将光标放在EditText开头的方法,希望对你有帮助。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Android富文本开发

更详细来说,监听删除键点击逻辑需要注意,当光标EditText 输入中间,点击删除不进行处理正常删除;当光标EditText首端,判断前一个控件,如果是图片控件,删除图片控件,如果是输入控件,...如果光标已经顶在了editText最末端,则需要添加新imageView 如果光标已经顶在了editText中间,则需要分割字符串,分割成两个EditText,并在两个EditText中间插入图片...} else { //如果光标已经顶在了editText中间,则需要分割字符串,分割成两个EditText,并在两个EditText中间插入图片...在文字内容中间插入图片,则需要分割字符串,分割成两个EditText,并在两个EditText中间插入图片,那么这个光标又定位在何处呢?...对于光标前面的字符串保留,设置给当前获得焦点EditText(此为分割出来第一个EditText) 把光标后面的字符串放在新创建EditText中(此为分割出来第二个EditText) 在第二个

8.4K20

Android如何自定义EditText光标与下划线颜色详解

前言 最近在写些小Demo复习基础,在用到EditText时候突然发现之前几乎没有注意到它光标和下划线颜色,于是花了不少时间,看了不少博客,现在就来总结和分享一下收获,话不多说了,来一起看看详细介绍...现在就让我们循序渐进,先修改它光标颜色。 ? 2、自定义光标颜色 EditText 有一个属性:android:textCursorDrawable ,它就是用来设置光标样式。...3、取消背景后EditText 第2节中,我们将属性android:textCursorDrawable 设置为“@null”之后发现光标的样式会变得跟文字颜色一样,那么如果将整个EditText...可以看到,虽然光标的样式没有改变,但是下划线消失了,不过除此之外,EditText边距也没有了,如果不是光标在闪烁,一眼看上去就像个TextView了。...可以看到,光标和下划线颜色都会修改掉,间距还是会保留。

5.3K51

Android开发笔记(三十六)展示类控件

聊天室窗口高度是固定,新文字消息总是加入到窗口末尾,同时窗口内部文本整体向上滚动,窗口大小保持不变、位置也保持不变。...setHintTextColor : 设置提示文本颜色。 在录入用户信息时(比如输入姓名、密码等等),EditText输入回车键,常常不要换行而是让光标直接跳到下一个编辑框。...,不能切换光标)。...EditText还有一个需要特殊处理地方,就是自动关闭软键盘。一般我们希望点击其它控件时,原输入框软键盘就要自动消失,可惜Android不是这样处理。...,center表示保持图片原尺寸使之位于视图中间,centerCrop表示拉伸图片并使视图位于图片中间,centerInside表示使图片位于视图中间(只压不拉)。

1.4K30

微博文本编辑和显示(emoji表情,@某人、链接高亮点击)

因为考虑到字数限制还有大小问题,下面还有对应参数,大小一般我设置是20dp(够大了吧= =),插♀入时候注意当前光标位置哟,Android文本输入框一般对于ImageSpan 回退都是整个删除...之后SpannableString来存储对应ImageSpan 和文本中间关系,最后利用SpannableStringBuilder 将生成好SpannableString插入到输入框中。...如果拿到了index,还需要判断这个index是不是map里已经处理过,如果是就往后移startIndex再去取一次判断。 最后设置下方效果来达到点击跳转。...端效果需要注意这几个: ((ノಠ益ಠ)ノ彡┻━┻哪来那么多问题) 1)、回退时候直接删除整个@块。...EditText在点击时候我们可以获取到光标落下位置,这时候我们通过该位置去已有@list列表里判断每个名字所在位置,比对光标位置是不是落在了@块内,如果是就强行将光标落到@块旁边(= =光标不能插进来

2.1K20

Android端IM应用中@人功能实现:仿微博、QQ、微信,零入侵、高可扩展

第二个问题,我们要保证文本与数据一致性,禁止光标插入到Span覆盖文本中间。...4、微博做法 4.1 侦听并处理光标活动、选中状态以及Span位置变化 对于光标活动和选中状态侦听,如果采用继承EditText方式实现标签文本功能,重写onSelectionChanged(int...也就是说,我们可以不使用EditText自身API却能够管理它光标活动和选中状态(请注意这几句话,他是“优雅实现”基石)。 Selection管理光标活动。那么,SpanWatcher又是什么?...我们要求是删除Span文本时,能够整体删除整个Span,这就需要监听键盘删除键。...或者用内联方法或继承方式为EditText新增一个方法? 这些都可以,唯一缺点是,它不是我想要优雅。我要让它就像使用普通EditText一样正常使用setText()方法。

2.1K30

Android实现 EditText输入手机号空格功能

Android EditText输入手机号空格 开发需求是在登录页面的手机EditText中间插入空格,让用户看起来方便点, 130 1234 4567,中间第4个数字和第5个数字空格前面加空格。...要求还有一点,就是除了输入要加入空格,从其他地方复制过来电话号码,没有空格,也要在粘贴后,自动补全空格。 思路:重写TextWatcher,每次EditText内容变化,都判断内容是否符合要求。...* 手机号中间插入空格 */ public class PhoneTextWatcher implements TextWatcher { private EditText editText;...void setContent(StringBuffer sb) { editText.setText(sb.toString()); //移动光标到最后面 editText.setSelection...(sb.length()); } } 总结 以上所述是小编给大家介绍Android实现 EditText输入手机号空格功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家

1.6K41

Android EditText每4位自动添加空格效果

看似很小功能,在开发过程中,遇到了非常多问题与难点: EditText输入框监听死循环 输入框中空格无法删除(删除又添加) 从中间删除一个数字产生一系列问题 输入框光标位置控制问题 之前踩坑过程就不再赘述了...经过一系列实验,最后定下来思路如下: 当输入框内容改变时,就将内容取出拆分为一个一个字符,在每4位中间添加空格,最后一个4位不能添加。...用这种拼接字符方法是为了解决当用户删除中间数字,会导致空格位置错位问题。 当用户删除中间字符时,要记录该动作并且记录光标位置,保证重新排序完成后,光标的位置在应该在位置。...= content.length()) { newString.append(content.charAt(i - 1) + " "); } else { //如果不是4位倍数,则直接拼接字符即可...现在我们就要进行第二步,当用户删除中间字符时,我们要判断用户本次操作是删除字符,并且保存本次删除光标位置,在删除完成、排序完成之后,将光标移动到保存光标位置。

1.6K30

真·富文本编辑器演进之路-Span整体性控制

所以,我们需要对Span做下面的限制: 中间不允许光标插入 增加时整体新增 删除时整体删除 对应这样需求,我们有两种方式来处理,第一种是使用原本就是整体Span,例如ImageSpan,这是最简单方法...控制选中 在讲解如何在普通文本中对Span做整体性控制前,我们先来考虑下选择问题——如何让「整体性Span」内部无法被选中。 首先,我们要知道,Edittext光标也是一种Span。...那么问题来了,我要怎么监听Edittext光标呢?...Selection有两个状态,Start和End,选择光标,就是Selection两个状态,当两个状态重合时,就是光标的输入状态。...,当我们Selection在「整体性Span」(通过IntegratedSpan来标记)中时,就自动修改Selection位置,从而实现「整体性Span」中间无法插入光标

1.9K30

Android EditText实现输入金额类型详解

(s); editText.setSelection(s.length()); } } 3.第一个数为0情况 我这里写判断不是很好,之后可以改进。...这个特殊情况是这样,假如你输入第一位是0,你想想,你能输入0233,05这种数字吗,就是您能,这样展示给用户效果也很不友好,所以要判断如果第一位数是0,第二位不是小数点的话,就输出0。...(1); return; } } 上面也说了这步算法有两个问题,第一,如果在0.26情况下,我把光标点在0后面,输入一个不为0数字假设5,得到结果是0不是5.26...第二,假如还是0.26情况下,我把光标点在小数点后面,删除小数点,得到不是26而是0。所以这步算法有些问题。那为什么不现在改呢,不好意思,最近太忙,写文章都很赶。...4.第一个是小数点情况 假如你数是5.26,这时候你把光标放到5后面,删除5,如果你不做处理,那展示出来就是.26,这样展示就很不友好,所以我们要想办法要在第一位为小数点情况下补0。

1.6K31

你从未见过EditText属性详解

前言 Hi,小伙伴们, Layout学会了, Button和 TextView学会了, ImageView也学会了,是不是感觉总是学习这些单一东西稍微有点枯燥了呢?...那么学习了这篇文章之后,开始尽情发挥你们想象力开始搞事情吧~ 这一篇我们讲解 EditText使用, EditText是一个输入框,在Android开发中是常用控件。...也是获取用户数据一种方式, EditText是 TextView子类,它继承了 TextView所有属性。...--设置当文字过长时,该控件该怎样显示,例如设置以下值:"start"省略号显示在开头,"end"省略号显示在结尾,"middle"省略号显示在中间,"marquee"以跑马灯方式显示(动画横向移动)...常用方法 1.设置焦点,光标的位置 EditText et = (EditText) findViewById(R.id.et_mobile); et.setFocusable(true); et.requestFocus

3.2K10

Android EditText追加空格、限制字符等方法示例

* @param s 改变后字符串 * @param start 改变之后光标下标 * @param before 删除了多少个字符 * @param count 添加了多少个字符 */ @Override...,不是空格 StringBuilder stringBuilder = new StringBuilder(lastString); stringBuilder.deleteCharAt(start...,添加字符时,需要让光标跳过空格,再按照之前逻辑计算光标位置 if ((start + count) % 5 == 0) { selectPosition = start + count + 1; }...当然中间会有一些坑,比如光标位置、删除时空格要跳过以及删除后会再追加空格会造成死循环问题。...Masked-Edittext ? XEditText ? 总结 以上就是这篇文章全部内容了,希望本文内容对大家学习或者工作具有一定参考学习价值,谢谢大家对ZaLou.Cn支持。

2.1K10

Android实现EditText图文混合插入上传功能

一、明确需求 首先,点击”会议详情”文本框中,正常输入文本,然后点击左下角图片图标,进入系统相册用来选择一张图片并插入到文本框中,你还可以将光标停留在任意文字中间,完成图片插入,回退建即可以逐个删除文字...在上面的图文混排EditText中,虽然看到了生动图文效果,但是实际上输出EditTextget Text().toString(), 其实是:”插入一张图片<img src=\”” + url1...也就是说,当我选择图片插入到EditText中时,虽然显示了该图片,但是插入进去其实是这个图片url。...EditText光标所在位置 int index = et_detail.getSelectionStart(); // 获取光标所在位置 Editable edit_text...A1: PM要求每插入一次图片就要调接口将图片上传到服务器上,该接口会返回该图片url过来,尽管这种要求并不是个好解决方案。

1.3K30

Android 千变万化 TextView:神奇 SpannableString

之前写过一篇SpannableString文章,最近搬出来统一放在简书上。...1)分析 整个过程可以分成两步,第一步是让输入框 EditText 可以输入表情,第二步是把输入框输入表情显示到 TextView 上。...2)准备表情资源 我在网上下载了一批常用表情图片,放在 drawable - xxhdpi 目录下: ?...(5)把 SpannableString 插入到 EditText 当前光标位置。 这样解释是不是太简单了,可是代码确实很简单啊。...就是这么简单,以前可能觉得表情文字是很神奇存在,现在是不是觉得就是纸老虎。 大工告成!至此,整个实现逻辑就讲完了,但是我工程中远不止这些,还有很多边缘性功能,但核心东西都讲了。

3.6K20

程序正在监听你一举一动?

相信大家在项目中多多少少都用过EditText这个控件吧,但是大家是否熟悉它监听呢?最近阿Q在使用它监听过程中就碰到了几个问题,在这里整理一下,供小伙伴们参考。...,beforeTextChanged()为输入文字之后,还未显示在EditText操作;onTextChanged()为输入了文字,正在进行EditText显示操作;afterTextChanged...()为文字显示在EditText操作。...eNumber.setText(s); eNumber.setSelection(2); } //如果起始位置为0,且第二位跟不是...在使用过程中,如果复用EditText的话,会出现输入数字错乱问题,这时候我们需要加上监听唯一标志,用于区分不同监听,并且监听用完之后要记得移除监听。

38530

Android软键盘输入处理技巧

因此,了解如何监听软键盘输入是非常重要。 如何监听软键盘输入 在Android中,我们可以使用EditTextTextWatcher接口来监听软键盘输入。...EditText editText = findViewById(R.id.editText); editText.addTextChangedListener(new TextWatcher() {...它允许应用程序与用户输入进行交互,并处理输入文本各种操作,如插入、删除和替换文本。 InputConnection 是 Android 软键盘系统和 EditText 控件之间桥梁。...它允许您: 监听用户输入操作,如按键、删除等。 拦截并自定义文本输入。 实现撤销、重做和自动修复等功能。 与 EditText 控件进行通信,以控制光标位置、文本选择和其他编辑操作。...下面是如何将 MyInputConnection 与 EditText 控件关联示例: import android.view.inputmethod.EditorInfo; import android.view.inputmethod.InputConnection

33710

android学习笔记----软键盘换行按键效果测试(imeOptions)

注意:看到其他博客上写都是用android:singleLine="true"(因为默认是多行模式,右下角按键是用于换行,当设置为单行模式后就没必要换行了) 但是这个方法文档显示已经废弃了...关于singleLine:@deprecated不推荐使用此属性 格式:boolean 将文本约束为单个水平滚动线,不是让它包裹在多行上,并在按Enter键时提前聚焦不是插入换行符。...使用maxLines来改变静态文本布局(比如TextView需要singleLine效果),并使用inputType属性中textMultiLine标志代替可编辑文本视图(比如EditText需要...="wrap_content" android:hint="actionPrevious(此时回车光标返回上一项)" android:imeOptions="actionPrevious...监听事件,actionId为EditorInfo.IME_ACTION_GO 这几个imeOptionsID分别为: public static final int IME_MASK_ACTION

80410

详解EditText输入监听TextWatcher「建议收藏」

这就需要监听EditText输入状态。...这样理解: 这个方法执行获取状态是在你输入前光标所在位置: 输入一个字符:s字符串也就是当前EditText内容为空,所以输出空; 开始处:0,司空见惯,...我们刚刚输入你字是不是还在,这就是s内容; 开始处:光标所在位置1; 替换长度:0,为什么还是0?...实话说这个是一直为0,因为在你输入前执行,你所做操作时 一直往后增加,增加操作相当于用输入字符替换了一个长度为0字符,也就是空,所以一直为0; 后替换体长度...意思大概是:这个方法是用来告诉你,在字符串s里,光标start开始处count个字符刚刚把原来before长度字符替换。

2.8K31
领券