现在的位置: 首页 > 综合 > 正文

android 软键盘模式

2018年01月18日 ⁄ 综合 ⁄ 共 3099字 ⁄ 字号 评论关闭

如果一个页面上有个EditText,当页面显示的时候,系统默认情况下不会打开软键盘,需要用户点击下EditText才会弹出软键盘, 在有些情况下你可能希望,用户打开页面的时候就自动显示软键盘,这样就减少了用户点击的次数(例如在用户点击新建短信打开的页面中).

要实现该功能是很简单的,只要在<manifest>中的Activity标签中使用windowSoftInputMode就可以了.

如下:

<activity android:windowSoftInputMode="stateVisible" . . . >

另外对于一些非Activity窗口(例如对话框),在Android 1.5及其以后版本中的Window类中加入了一个函数:

setSoftInputMode(int) 可以来设置该属性.

 

该属性的详细说明:

android:windowSoftInputMode

How the main window of the activity interacts with the window containing the on-screen soft keyboard. The setting for this attribute affects two things:

The state of the soft keyboard — whether it is hidden or visible — when the activity becomes the focus of user attention.

The adjustment made to the activity's main window — whether it is resized smaller to make room for the soft keyboard or whether its contents pan to make the current focus visible when part of the window is covered by the soft keyboard.

The setting must be one of the values listed in the following table, or a combination of one "state..." value plus one "adjust..." value. Setting multiple values in either group — multiple "state..." values, for example — has undefined results. Individual values are separated by a vertical bar (|). For example:

<activity android:windowSoftInputMode="stateVisible|adjustResize" . . . >

Values set here (other than "stateUnspecified" and "adjustUnspecified") override values set in the theme.

Value Description

"stateUnspecified" The state of the soft keyboard (whether it is hidden or visible) is not specified. The system will choose an appropriate state or rely on the setting in the theme.

This is the default setting for the behavior of the soft keyboard.

"stateUnchanged" The soft keyboard is kept in whatever state it was last in, whether visible or hidden, when the activity comes to the fore.

"stateHidden" The soft keyboard is hidden when the user chooses the activity — that is, when the user affirmatively navigates forward to the activity, rather than backs into it because of leaving another activity.

"stateAlwaysHidden" The soft keyboard is always hidden when the activity's main window has input focus.

"stateVisible" The soft keyboard is visible when that's normally appropriate (when the user is navigating forward to the activity's main window).

"stateAlwaysVisible" The soft keyboard is made visible when the user chooses the activity — that is, when the user affirmatively navigates forward to the activity, rather than backs into it because of leaving another activity.

"adjustUnspecified" It is unspecified whether the activity's main window resizes to make room for the soft keyboard, or whether the contents of the window pan to make the currentfocus visible on-screen. The system will automatically select one of these modes depending on whether the content of the window has any layout views that can scroll their contents. If there is such a view, the window will be resized, on the assumption that scrolling can make all of the window's contents visible within a smaller area.

This is the default setting for the behavior of the main window.

"adjustResize" The activity's main window is always resized to make room for the soft keyboard on screen.

"adjustPan" The activity's main window is not resized to make room for the soft keyboard. Rather, the contents of the window are automatically panned so that the current focus is never obscured by the keyboard and users can always see what they are typing. This is generally less desirable than resizing, because the user may need to close the soft keyboard to get at and interact with obscured parts of the window.

This attribute was introduced in API Level 3.

抱歉!评论已关闭.