Android 禁止软键盘自动弹出

Android系统对EditText这个控件有监听功能,如果某个Activity中含有该控件,就会自动弹出软键盘让你输入,这个看似人性化的方案有 时候并不被用户喜欢的,所以在有些情况下要禁用该功能。这几天做的应用也有这个问题,所以就查了,网上大部分都是如下方法:

<activity android:name=".MainActivity"
                android:screenOrientation="landscape"
                <span style="color:#ff0000;">android:windowSoftInputMode="adjustPan|stateHidden"
</span>                <span style="color:#ff0000;">android:configChanges="orientation|keyboardHidden</span>">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN"/>
                    <category android:name="android.intent.category.LAUNCHER"/>
                </intent-filter>
     </activity> 

该方法确实有用,但只是在刚进入此Activity时能起到左右,如果该Activity中有Tab功能的切换,软键盘又会弹出来,所以有了下面这个解决办法:

在xml文件中加入一个隐藏的TextView:

<TextView
        android:id="@+id/config_hidden"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:focusable="true"
        android:focusableInTouchMode="true"
        />

然后再在Activity中加入:

TextView config_hidden = (TextView) this.findViewById(R.id.config_hidden);
config_hidden.requestFocus();

这样软键盘就不会弹出了。

时间: 2024-11-08 23:09:00

Android 禁止软键盘自动弹出的相关文章

android 软键盘自动弹出和关闭

 一.布局中软键盘自动弹出 bargain_dialog_offer_edit.requestFocus(); bargain_dialog_offer_edit.setFocusable(true); InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE); imm.showSoftInputFromInputMethod(bargain_dialo

Android 禁止进入activity自动弹出键盘

在Manifest.xml中设定activity的属性 android:windowSoftInputMode="stateHidden|stateUnchanged" 附相关属性: "stateUnspecified" 软键盘的状态(是否它是隐藏或可见)没有被指定.系统将选择一个合适的状态或依赖于主题的设置.这个是为了软件盘行为默认的设置. "stateUnchanged" 软键盘被保持无论它上次是什么状态,是否可见或隐藏,当主窗口出现在前面时

Android EditView 阻止软键盘自动弹出

最近再做一个查询内的小应用,界面最上面是一个EditText查询框,进行Activity后,总会弹起软键盘.这样就挡住了查询框下面的其他查询条件 控件,感觉很不友好.所以现在要做的就是在进入Activity后,不弹出软键盘了,只有手动点击输入框才会弹出.实现方法如下: 在AndroidManifest.xml里面选择那个acitivity, 把他的android:windowSoftInputMode设置成 stateHidden和 adjustUnspecified <activity and

禁止进入activity自动弹出键盘

禁止进入activity自动弹出键盘 在Manifest.xml中设定activity的属性 android:windowSoftInputMode="stateHidden|stateUnchanged" 附相关属性: "stateUnspecified" 软键盘的状态(是否它是隐藏或可见)没有被指定.系统将选择一个合适的状态或依赖于主题的设置.这个是为了软件盘行为默认的设置. "stateUnchanged" 软键盘被保持无论它上次是什么状态

Android判断软键盘弹出并隐藏的简单完美解决方案

最近项目中有一个编辑框,下面是个ListView.在触发编辑框弹出软键盘后,ListView还能滑动,并且ListView的item还能响应单击.这样的体验效果很不好.于是便想在滑动或单击item时判断键盘是否弹出,若弹出,则把它隐藏. 网上一搜,发现Android并没有直接提供软键盘的弹出与隐藏判断,一些解决方案诸如判断父控件的高度或者判断 if(getWindow().getAttributes().softInputMode==WindowManager.LayoutParams.SOFT

Android 另类方法监听软键盘的弹出收起事件

http://www.cnblogs.com/csonezp/p/5065624.html 最近做的项目碰到个问题,a界面是fragment+recyclerview,b界面带个edittext,并且会自动获得焦点弹出软键盘.由a界面进入b界面,再结束b界面返回a界面,就会在a界面上留下一片和软键盘大小相同的灰色区域,具体原因搞了很久也不清楚.但是问题总是要解决的,我在a的fragment上折腾了半天,始终没什么用.然后就想着在b界面折腾折腾,关闭activity的时候先收起挼键盘,软键盘收起完

android EditText 软键盘 一些总结

看一个manifest中Activity的配置,如果这个页面有EditText,并且我们想要进入这个页面的时候默认弹出输入法,可以这样设置这个属相:android:windowSoftInputMode=stateVisible,这样就会默认弹起输入法,当然还有别的办法. <activity android:name=".ui.login" android:configChanges="orientation|keyboardHidden|locale" an

判断软键盘的弹出

未弹出软键盘时的布局,很简单,只有一个webview加一个底部bar,底部bar由一个linearlayout包含四个button组成. 当布局中有webview时,点击webview上的输入框,会有软键盘弹出以输入文字. 问题:此时,如果布局含有底部bar,底部bar会被软键盘托起.如下图所示: 解决方式: 使用  RelativeLayout.getViewTreeObserver().addOnGlobalLayoutListener(listener);监听软键盘是否弹出,在弹出时隐藏底

android editText 软键盘enter键图标的设置

<EditText android:layout_marginTop="10dp" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="输入单位" android:layout_marginLeft="10dp" android:layout_marginRight="1