启动Activity时禁止弹出软键盘
来源:互联网 发布:matlab可以用c语言吗 编辑:程序博客网 时间:2024/06/06 05:21
如果屏蔽软键盘,代码会比较繁杂,下面是列举了一个简单的方法。
我们可以这样来处理视图,将editText的焦点换成别的组件,像TextView,Button等等,这样就不会出现软键盘了。
一,下面这样做,需要点击按钮两次,才响应操作
View.setFocusable(true), 对应xml : android:focusable="true".
View.setFocusableInTouchMode(true),对应xml :android:focusableInTouchMode="true".
两者的意思是让组件可以获得焦点。不过有些区别,前者执行false条件后,在执行true,还是不能获取焦点。后者执行上述过程,还是能获取焦点。
当你加入上述代码后,在创建activity时,调用对应view的requestFocus(),这样就可以获得焦点了。当editText失去焦点了,也就不会有软键盘了
二,找到真正的解决方法了
activity“阻止自动弹出软键盘”的方法 -尤其是对于Tab页下的!
activity 第一个获取焦点的组件是 EditText 时,开启这个activity 时就会自动弹出软键盘。
今天设计的程序不想要自动弹出,于是照了相关资料,但是尝试了半天都不好使,让本人很郁闷,
最后的最后,终于找到了根源所在:
—————————————————————————————————————————————————
时隔半年,又遇到Tab页中有的Activity需要弹出键盘,有的Activity需要隐藏掉的情况,
这次用的是在Activity中加代码的方法,先看下代码在结束原因吧!
public class xxxActivity extends Activity {
}
这个xxxActivity 是Tab页中的一个Activity,它想要隐藏掉软键盘,
1.开启线程延时的原因是:如果在Create方法中就直接关闭软键盘会报错,意思是Activity窗口没有初始化完,不可以进行诸如此类的操作。于是延时一小会儿,再执行隐藏软键盘的代码,就可以了。注意,即使不是在Tab相关的Activity中,也是这样!!
2.写在Resume()中的原因是,Tab页切换时不是从Activity的OnCreate()方法重新执行,所以为保证每次切换到该Activity时都能隐藏掉软键盘,所以要在OnResume()中写。
————————————————————————————————————————
一般情况下(不是Tab的)据说有以下几种方法:
[转自]http://www.cnblogs.com/brainy/archive/2012/05/24/2516923.html
1、//隐藏软键盘
((InputMethodManager)getSystemService(INPUT_METHOD_SERVICE)).hideSoftInputFromWindow(WidgetSearchActivity.this.getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
2、//显示软键盘,控件ID可以是EditText,TextView
((InputMethodManager)getSystemService(INPUT_METHOD_SERVICE)).showSoftInput(控件ID,
3、不自动弹出键盘:
带有EditText控件的在第一次显示的时候会自动获得focus,并弹出键盘,如果不想自动弹出键盘,有两种方法:
方法一:在mainfest文件中把对应的activity设置
android:windowSoftInputMode="stateHidden" 或者android:windowSoftInputMode="stateUnchanged"。
方法二:可以在布局中放一个隐藏的TextView,然后在onCreate的时候requsetFocus。
注意TextView不要设置Visiable=gone,否则会失效
,可以在布局中放一个隐藏的TextView,然后在onCreate的时候requsetFocus。
注意TextView不要设置Visiable=gone,否则会失效
<TextView
TextView textView = (TextView)findViewById(R.id.text_notuse);
http://blog.sina.com.cn/s/blog_6dc41baf01015wqy.html
- 启动Activity时禁止弹出软键盘
- 禁止弹出软键盘
- 启动activity时不自动弹出软键盘
- 禁止自动弹出软键盘
- EditText 禁止弹出软键盘
- EditText禁止弹出软键盘
- 设置软键盘弹出时覆盖Activity
- 设置软键盘弹出时覆盖Activity
- Activity启动edittext自动弹出软键盘解决办法
- android 禁止软键盘自动弹出
- Android 禁止软键盘自动弹出
- Android EditText 禁止软键盘弹出
- Android 禁止软键盘自动弹出
- edittext禁止android软键盘弹出
- 点击Edittext,禁止软键盘弹出
- Android之EditView 软键盘-自动弹出-禁止自动弹出
- Android开发禁止首次进入activity弹出软键盘,限制屏幕只能竖屏或者横屏展示
- android Activity 阻止软键盘自动弹出
- 费了好些时间,终于把drupal hook机制弄明白了
- aidl 在android tv中的应用
- C++中public、protect和private用法区别
- 栈
- LeetCode: Remove Duplicates from Sorted List II [083]
- 启动Activity时禁止弹出软键盘
- 马上端午节,会放假吗
- 查看Linux版本号的三种办法
- Exar推出4级IECESD保护的业界最低功耗容错收发器
- 第六章_其他字符串问题
- 怎样解决Java Web项目更改项目名后报错
- Alliance Memory
- CVE-2014-0199 CVE-2014-0200 CVE-2014-0201 POC
- 将整数字符串转换成整数输出(JAVA实现,不能用自带函数)