issues
search
fWX228941
/
project
all by myself
1
stars
0
forks
source link
输入法
#37
Open
fWX228941
opened
5 years ago
fWX228941
commented
5 years ago
当前焦点在 UI 的文本框上时,Android 系统会在屏幕上显示一个键盘 - 被称为软输入法。我们可以指定我们期望的输入类型的特征(例如,是否是电话号码或Email地址)和输入法的表现形式(例如,是否需要自动纠正拼写错误),除了使用屏幕上的输入法,Android也支持实体键盘
每个文本框都对应特定类型的文本输入,如Email地址,电话号码,或者纯文本。为应用中的每一个文本框指定输入类型是很重要的,这样做可以让系统展示更为合适的软输入法(比如虚拟键盘)
如果文本框用于输入密码,那么使用 "textPassword" 值来隐藏用户的输入:组合起来实现特定的输入法外观和附加的行为。如果文本框用于基本的文本输入(如短信息),那么我们应该使用 "textAutoCorrect" 值来开启自动拼写修正,指定输入法的行为。
当输入焦点移入或移出可编辑的文本框时,Android会相应的显示或隐藏输入法(如虚拟键盘)。系统也会决定输入法上方的 UI 和文本框的显示方式。
在Activity启动时显示输入法,尽管Android会在Activity启动时将焦点放在布局中的第一个文本框,但是并不会显示输入法。因为输入文本可能并不是activity中的首要任务,所以不显示输入法是很合理的。可是,如果输入文本确实是首要的任务(如在登录界面中),那么可能需要默认显示输入法,为了在activity启动时显示输入法,添加 android:windowSoftInputMode 属性到
节点中,并将该属性的值设为 "stateVisible"
5.指定 UI 的响应方式,当输入法显示在屏幕上时,会减少 app UI 中的可用空间。系统会决定如何调整 UI 可见的部分,但是这样做不一定正确。为了确保应用的最佳表现,我们应该在 UI 的剩余空间中展示我们想要展示的系统界面。如果我们使用相对布局(relative layout)在屏幕底部放置一个按钮,用 "adjustResize" 来重新调整大小,使得按钮栏出现在输入法上方。
根据需要显示输入法,如果我们想要确保输入法在activity生命周期的某个方法中是可见的,那么可以使用 InputMethodManager 来实现