`
mmdev
  • 浏览: 12916123 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

UI效果(6): EditText与软键盘

 
阅读更多

EditText需要注意的地方很多,所以做个小结。

该篇博客会持续更新。

下面的内容来自:http://www.learningandroid.net/blog/,自己稍加修改。


下面的LAYOUT定义文件举了一些例子说明inputType和imeOptions的使用。


可看到,随着inputType的不同,输入法的键盘也自动跟着发生变化,并且在inputType=number时,是不允许输入英文字符的。

另外,在inputType属性中,textCapCharacters是大写字符 textCapWord是单词首字母大写。

注意:android:phoneNumber,android:numeric,这几个属性均已被废弃,不少输入法已经不再支持。直接使用inputType比较好。
另外,在做这种调试时,最好使用Google拼音,或Android键盘来进行,否则imeOptions可能不能正常显示,比如百度输入法在我删除它之前就一直不支持imeOptions。

我们经常会碰到在输入的时候,输入法窗口盖住需要点击的按钮,只有用Back键关闭输入法才能按到这个按钮。我们可以通过修改窗口的输入法模式来解决。

另一个可能会有用的模式选项是在窗口刚打开时,是否立刻弹出输入法窗口还是等用户点击文本框后再弹出。后者通常适用于登录画面。

文件名:input_method_test.xml

最后的2个ToogleButton,这就是我们用来控制软键盘的2个开关。再贴出代码:
文件名:InputMethodTestActivity.java

另外还有几个参数,API中相关说明如下:

  • visibility states: SOFT_INPUT_STATE_UNSPECIFIED, SOFT_INPUT_STATE_UNCHANGED, SOFT_INPUT_STATE_HIDDEN, SOFT_INPUT_STATE_ALWAYS_VISIBLE, or SOFT_INPUT_STATE_VISIBLE.
  • adjustment options: SOFT_INPUT_ADJUST_UNSPECIFIED, SOFT_INPUT_ADJUST_RESIZE, or SOFT_INPUT_ADJUST_PAN.

2个开关均为开的情况下的截图:



可以看到由于使用了Resize模式,整个Activity的大小被缩小了,让出了输入法窗体的空间,并且由Activity本身使用了ScrollView,所以Activity可以被滚动到最下方。


文章链接:

http://www.learningandroid.net/blog/foundation/input-method-control-in-edittext/

http://www.learningandroid.net/blog/foundation/input-method-soft-mode/









  


  
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics