社区
Android
帖子详情
Android开发怎么将EditText中输入的文字变成一个一个的字符
王智涵
2018-09-17 03:08:37
最近在写一个英语听写的小软件,想实现在EditText输入的单词然后用安卓的TextToSpeech读出来,每次输入完一个单词或词组换行,但是每次换行之后也还是没用,因为EditText将我文本框内的文本都当成了一个字符。然后全都读了出来..。想问一下这该怎么解决。感谢大神
...全文
772
2
打赏
收藏
Android开发怎么将EditText中输入的文字变成一个一个的字符
最近在写一个英语听写的小软件,想实现在EditText输入的单词然后用安卓的TextToSpeech读出来,每次输入完一个单词或词组换行,但是每次换行之后也还是没用,因为EditText将我文本框内的文本都当成了一个字符。然后全都读了出来..。想问一下这该怎么解决。感谢大神
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
王智涵
2018-09-23
打赏
举报
回复
谢谢,我已经找到办法了,谢谢你。
阿飞__
2018-09-18
打赏
举报
回复
EditText 得到 string 后,然后根据 "\n" 将 string 分割成 strings[] 数组,再一个个的读
Android
开发
EditText
属性.txt
EditText
继承关系:View-->TextView-->
EditText
EditText
的属性很多,这里介绍几个:
android
:hint="请
输入
数字!"//设置显示在空间上的提示信息
android
:numeric="integer"//设置只能
输入
整数,如果是小数则是:decimal
android
:singleLine="true"//设置单行
输入
,一旦设置为true,则
文字
不会自动换行。
android
:password="true"//设置只能
输入
密码
android
:textColor = "#ff8c00"//字体颜色
android
:textStyle="bold"//字体,bold, italic, bolditalic
android
:textSize="20dip"//大小
android
:capitalize = "characters"//以大写字母写
android
:textAlign="center"//
EditText
没有这个属性,但TextView有,居
中
android
:textColorHighlight="#cccccc"//被选
中
文字
的底色,默认为蓝色
android
:textColorHint="#ffff00"//设置提示信息
文字
的颜色,默认为灰色
android
:textScaleX="1.5"//控制字与字之间的间距
android
:typeface="monospace"//字型,normal, sans, serif, monospace
android
:background="@null"//背景,这里没有,指透明
android
:layout_weight="1"//权重,控制控件之间的地位,在控制控件显示的大小时蛮有用的。
android
:textAppearance="?
android
:attr/textAppearanceLargeInverse"//
文字
外观
android
:layout_gravity="center_vertical"//设置控件显示的位置:默认top,这里居
中
显示,还有bottom
android
:gravity="top" //多行
中
指针在第一行第一位置 et.setSelection(et.length());//调整光标到最后一行
android
:autoText //自动拼写帮助
android
:capitalize //首字母大写
android
:digits //设置只接受某些数字
Android
:singleLine//是否单行或者多行,回车是离开文本框还是文本框增加新行
android
:numeric //只接受数字
android
:phoneNumber //
输入
电话号码
android
:editable //是否可编辑
android
:autoLink=”all” //设置文本超链接样式当点击网址时,跳向该网址
android
:textAppearance="?
android
:attr/textAppearanceLargeInverse"//
文字
外观,这里引用的是系统自带的
一个
外观,?表示系统是否有这种外观,否则使用默认的外观。不知道这样理解对不对? 属性名称描述
android
:autoLink设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接。可选值(none/web/email/phone/map/all)
android
:autoText如果设置,将自动执行
输入
值的拼写纠正。此处无效果,在显示
输入
法并
输入
的时候起作用。
android
:bufferType指定getText()方式取得的文本类别。选项editable 类似于StringBuilder可追加
字符
, 也就是说getText后可调用append方法设置文本内容。spannable 则可在给定的
字符
区域使用样式,参见这里1、这里2。
android
:capitalize设置英
文字
母大写类型。此处无效果,需要弹出
输入
法才能看得到,参见EditView此属性说明。
android
:cursorVisible设定光标为显示/隐藏,默认显示。
android
:digits设置允许
输入
哪些
字符
。如“1234567890.+-*/% ()”
android
:drawableBottom在text的下方输出
一个
drawable,如图片。如果指定
一个
颜色的话会把text的背景设为该颜色,并且同时和background使用时覆盖后者。
android
:drawableLeft在text的左边输出
一个
drawable,如图片。
android
:drawablePadding设置text与drawable(图片)的间隔,与drawableLeft、drawableRight、drawableTop、drawableBottom一起使用,可设置为负数,单独使用没有效果。
android
:drawableRight在text的右边输出
一个
drawable,如图片。
android
:drawableTop在text的正上方输出
一个
drawable,如图片。
android
:editable设置是否可编辑。这里无效果,参见EditView。
android
:editorExtras设置文本的额外的
输入
数据。在EditView再讨论。
android
:ellipsize设置当
文字
过长时,该控件该如何显示。有如下值设置:”start”—?省略号显示在开头;”end”——省略号显示在结尾;”middle”—-省略号显示在
中
间;”marquee” ——以跑马灯的方式显示(动画横向移动)
android
:freezesText设置保存文本的内容以及光标的位置。参见:这里。
android
:gravity设置文本位置,如设置成“center”,文本将居
中
显示。
android
:hintText为空时显示的
文字
提示信息,可通过textColorHint设置提示信息的颜色。此属性在EditView
中
使用,但是这里也可以用。
android
:imeOptions附加功能,设置右下角IME动作与编辑框相关的动作,如actionDone右下角将显示
一个
“完成”,而不设置默认是
一个
回车符号。这个在EditView
中
再详细说明,此处无用。
android
:imeActionId设置IME动作ID。在EditView再做说明,可以先看这篇帖子:这里。
android
:imeActionLabel设置IME动作标签。在EditView再做说明。
android
:includeFontPadding设置文本是否包含顶部和底部额外空白,默认为true。
android
:inputMethod为文本指定
输入
法,需要完全限定名(完整的包名)。例如:com.google.
android
.inputmethod.pinyin,但是这里报错找不到。
android
:inputType设置文本的类型,用于帮助
输入
法显示合适的键盘类型。在EditView
中
再详细说明,这里无效果。
android
:linksClickable设置链接是否点击连接,即使设置了autoLink。
android
:marqueeRepeatLimit在ellipsize指定marquee的情况下,设置重复滚动的次数,当设置为marquee_forever时表示无限次。
android
:ems设置TextView的宽度为N个
字符
的宽度。这里测试为
一个
汉字
字符
宽度,如图:
android
:maxEms设置TextView的宽度为最长为N个
字符
的宽度。与ems同时使用时覆盖ems选项。
android
:minEms设置TextView的宽度为最短为N个
字符
的宽度。与ems同时使用时覆盖ems选项。
android
:maxLength限制显示的文本长度,超出部分不显示。
android
:lines设置文本的行数,设置两行就显示两行,即使第二行没有数据。
android
:maxLines设置文本的最大显示行数,与width或者layout_width结合使用,超出部分自动换行,超出行数将不显示。
android
:minLines设置文本的最小行数,与lines类似。
android
:lineSpacingExtra设置行间距。
android
:lineSpacingMultiplier设置行间距的倍数。如”1.2”
android
:numeric如果被设置,该TextView有
一个
数字
输入
法。此处无用,设置后唯一效果是TextView有点击效果,此属性在EdtiView将详细说明。
android
:password以小点”.”显示文本
android
:phoneNumber设置为电话号码的
输入
方式。
android
:privateImeOptions设置
输入
法选项,此处无用,在
EditText
将进一步讨论。
android
:scrollHorizontally设置文本超出TextView的宽度的情况下,是否出现横拉条。
android
:selectAllOnFocus如果文本是可选择的,让他获取焦点而不是将光标移动为文本的开始位置或者末尾位置。TextView
中
设置后无效果。
android
:shadowColor指定文本阴影的颜色,需要与shadowRadius一起使用。效果:
android
:shadowDx设置阴影横向坐标开始位置。
android
:shadowDy设置阴影纵向坐标开始位置。
android
:shadowRadius设置阴影的半径。设置为0.1就
变成
字体的颜色了,一般设置为3.0的效果比较好。
android
:singleLine设置单行显示。如果和layout_width一起使用,当文本不能全部显示时,后面用“…”来表示。如
android
:text="test_ singleLine "
android
:singleLine="true"
android
:layout_width="20dp"将只显示“t…”。如果不设置singleLine或者设置为false,文本将自动换行
android
:shadowDx设置阴影横向坐标开始位置。
android
:shadowDy设置阴影纵向坐标开始位置。
android
:shadowRadius设置阴影的半径。设置为0.1就
变成
字体的颜色了,一般设置为3.0的效果比较好。
android
:singleLine设置单行显示。如果和layout_width一起使用,当文本不能全部显示时,后面用“…”来表示。如
android
:text="test_ singleLine "
android
:singleLine="true"
android
:layout_width="20dp"将只显示“t…”。如果不设置singleLine或者设置为false,文本将自动换行
android
:text设置显示文本.
android
:textSize设置
文字
大小,推荐度量单位”sp”,如”15sp”
android
:textStyle设置字形[bold(粗体) 0, italic(斜体) 1, bolditalic(又粗又斜) 2] 可以设置
一个
或多个,用“|”隔开
android
:typeface设置文本字体,必须是以下常量值之一:normal 0, sans 1, serif 2, monospace(等宽字体) 3]
android
:height设置文本区域的高度,支持度量单位:px(像素)/dp/sp/in/mm(毫米)
android
:maxHeight设置文本区域的最大高度
android
:minHeight设置文本区域的最小高度
android
:width设置文本区域的宽度,支持度量单位:px(像素)/dp/sp/in/mm(毫米),与layout_width的区别看这里。
android
:maxWidth设置文本区域的最大宽度
android
:minWidth设置文本区域的最小宽度
android
:textAppearance设置
文字
外观。如“?
android
:attr/textAppearanceLargeInverse ”这里引用的是系统自带的
一个
外观,?表示系统是否有这种外观,否则使用默认的外观。可设置的值如下:textAppearanceButton/textAppearanceInverse/textAppearanceLarge/textAppearanceLargeInverse/textAppearanceMedium/textAppearanceMediumInverse/textAppearanceSmall/textAppearanceSmallInverse
android
:textAppearance设置
文字
外观。如“?
android
:attr/textAppearanceLargeInverse ”这里引用的是系统自带的
一个
外观,?表示系统是否有这种外观,否则使用默认的外观。可设置的值如下:textAppearanceButton/textAppearanceInverse/textAppearanceLarge/textAppearanceLargeInver
android
让
EditText
中
输入
的
字符
立即
变成
*或者其他符号
1. public class WordReplacement extends ReplacementTransformationMethod { String strWord = null; @Override protected char[] getOriginal() { //循环ASCII值
字符
串形式累加到String for (...
Android
中
EditText
控制
输入
内容大小写转换
对于afterTextChanged回调方法里,对
输入
的
字符
串进行大小写转换,结果失败,因为每次转换之后实际就再次回调该方法导致死循环。
EditText
内容为一串
字符
串,要求将用户软键盘
输入
的小写字母在
输入
的时候自动转为大写字母,反之亦然。两个
字符
数组,分别将对应位置的原始
字符
转换为要求后的
字符
。显而易见,该方法是对编辑框内容进行转换的操作。
EditText
中
禁止
输入
中
文的方法及长度限制
应用场景 在
Android
应用
中
有时需要
EditText
中
只允许
输入
约定的一些
字符
,禁止
输入
其他
字符
。这里列举了一些可能的应用场景。 1. 场景一 在通讯录保存好友信息界面
中
填写好友的电话号码时,应当只能
输入
数字,禁止
输入
其他
字符
。 2. 场景二 在登录界面
中
输入
用户名和密码时,由于很多账号系统都不支持
中
文的用户名和密码,只允许使用英
文字
母和数字。如果可以禁止在
输入
框
中
输入
中
EditText
中
禁止
输入
中
文的方法
应用场景 在
Android
应用
中
有时需要
EditText
中
只允许
输入
约定的一些
字符
,禁止
输入
其他
字符
。这里列举了一些可能的应用场景。1. 场景一在通讯录保存好友信息界面
中
填写好友的电话号码时,应当只能
输入
数字,禁止
输入
其他
字符
。2. 场景二在登录界面
中
输入
用户名和密码时,由于很多账号系统都不支持
中
文的用户名和密码,只允许使用英
文字
母和数字。如果可以禁止在
输入
框
中
输入
中
文可以减少不必要的登...
Android
80,349
社区成员
91,287
社区内容
发帖
与我相关
我的任务
Android
移动平台 Android
复制链接
扫一扫
分享
社区描述
移动平台 Android
android
android-studio
androidx
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章