今天在对一个proj输入做些许修改的时候,因为要对EditText输入进行规范,所以查了下API,找到了inputType属性可以对EditText的输入进行规范,所以就很开心地用了。这里简单介绍一下inputType属性所接收的各属性值、作用以及使用方法。
1、在xml中使用
在xml中使用,只需要简单地指定android:inputType的属性值就可以了。比较常用的属性值有:
"textCapSentences" 大写句子句首字母
"textCapWords" 大写每个单词开头字母
"textAutoCorrect" 自动纠正不正确拼写
"textMultiLine" 允许多行输入
一个例子:
<EditText android:id="@+id/postal_address" android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint="@string/postal_address_hint" android:inputType="textPostalAddress| textCapWords| textNoSuggestions" />
2、在Java代码中设置
在代码中设置的方法其实和xml中的实现完全类似,直接举个例子:
EditText testEditText = (EditText) findViewById(R.id.test_editText);
testEditText.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_CAP_WORDS);
Voilà!
然后在如此设置好后,在机子上一跑,2了,什么反应都没有...于是我就郁闷了,双管齐下,在xml和代码中分别设置,还是doesn't work。于是就最后一招stackoverflow了...发现在stackoverflow上,相关的capitalize问题回答都是设置inputType相关的属性。有些回答在追问中,详细描述了平台和系统版本,都说就这样能实现需求。看到这里我就郁闷了,因为我的还是没有任何效果。然后这时候进来一条同学的短信,开始回短信的时候切换成英文输入,突然想到,老外都是直接输拉丁字母的,回答者都说这样就可以实现需求,是不是要用系统自带的输入法?lz本来使用的是百度输入法,当然我觉得百度中文输入还是很不错的,字母按钮够大,表情标点什么的也插入方便。有这样的想法后就马上去切换到了系统自带的输入法,发现,嗯,真的可以了。
接下来就是忍痛删了百度输入法,下了个googel拼音,虽然我觉得google拼音很好,但是有点小的字母按钮,让我这种指头不敏感人士,有点像母猪弹钢琴的感觉...
thus,马上写篇博客分享一下,给自己和大家一个小tip.
good good study, day day up:)