Android软键盘显⽰模式及打开和关闭⽅式(推荐)Android软键盘显⽰模式:
Android定义了⼀个属性,名字为windowSoftInputMode, ⽤它可以让程序可以控制活动主窗⼝调整的⽅式。我们可以在l中对Activity进⾏设置。如:android:windowSoftInputMode="stateUnchanged|adjustPan"
该属性可选的值有两部分,⼀部分为软键盘的状态控制,另⼀部分是活动主窗⼝的调整。前⼀部分本⽂不做讨论,请读者⾃⾏查阅android⽂档。
模式⼀,压缩模式
windowSoftInputMode的值如果设置为adjustResize,那么该Activity主窗⼝总是被调整⼤⼩以便留出软键盘的空间。为什么不显示输入法
我们通过⼀段代码来测试⼀下,当我们设置了该属性后,弹出输⼊法时,系统做了什么。
模式⼆,平移模式
windowSoftInputMode的值如果设置为adjustPan,那么该Activity主窗⼝并不调整屏幕的⼤⼩以便留出软键盘的空间。相反,当前窗⼝的内容将⾃动移动以便当前焦点从不被键盘覆盖和⽤户能总是看到输⼊内
容的部分。这个通常是不期望⽐调整⼤⼩,因为⽤户可能关闭软键盘以便获得与被覆盖内容的交互操作。
上⾯的例⼦中,我们将l的属性进⾏更改:android: windowSoftInputMode = "adjustPan"
模式三⾃动模式
当属性windowSoftInputMode被设置为adjustUspecified时,它不被指定是否该Activity主窗⼝调整⼤⼩以便留出软键盘的空间,或是否窗⼝上的内容得到屏幕上当前的焦点是可见的。系统将⾃动选择这些模式中⼀种主要依赖于是否窗⼝的内容有任何布局视图能够滚动他们的内容。如果有这样的⼀个视图,这个窗⼝将调整⼤⼩,这样的假设可以使滚动窗⼝的内容在⼀个较⼩的区域中可见的。这个是主窗⼝默认的⾏为设置。
也就是说,系统⾃动决定是采⽤平移模式还是压缩模式,决定因素在于内容是否可以滚动。
Android软键盘打开和关闭⽅式:
切换软键盘:
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
//得到InputMethodManager的实例
if (imm.isActive()) {
//如果开启
//关闭软键盘,开启⽅法相同,这个⽅法是切换开启与关闭状态的
}
关闭软键盘
if(getCurrentFocus()!=null)
{
((InputMethodManager) getSystemService(INPUT_METHOD_SERVICE))
.hideSoftInputFromWindow(getCurrentFocus()
.getWindowToken(),
InputMethodManager.HIDE_NOT_ALWAYS);
}
以上所述是⼩编给⼤家介绍的Android软键盘显⽰模式及打开和关闭⽅式(推荐),希望对⼤家有所帮助,如果⼤家有任何疑问请给我留⾔,⼩编会及时回复⼤家的。在此也⾮常感谢⼤家对⽹站的⽀持!