android EditText自动弹出和自动关闭软键盘

程序进入某个activity直接弹出软键盘,不能直接在OnCreate中设置,必须等View绘制事件完毕才可以弹出,需要用到Timer辅助实现,如果要实现输入的功能,必须让EditText获得焦点。

//应用启动后自动打开输入法

@Override
 public void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.main);

      Timer timer = new Timer();
        timer.schedule(new TimerTask() {
           @Override
                public void run() {
                        InputMethodManager imm = (InputMethodManager)MainActivity.this.getSystemService(INPUT_METHOD_SERVICE);
                        imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
                        Toast.makeText(MainActivity.this, "show", Toast.LENGTH_SHORT).show();
                     }

              }, 1000);  //在一秒后打开

}
自动关闭:
 InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
 imm.hideSoftInputFromWindow(editTextField.getWindowToken(), 0);

禁止弹出:

  <activity 

            android:name=".ClientSearchViewActivity"
            android:label="@string/app_name"
            android:screenOrientation="portrait"
            android:windowSoftInputMode="adjustUnspecified|stateHidden"
            android:configChanges="orientation|keyboardHidden">
        </activity> 
时间: 2024-12-18 22:12:18

android EditText自动弹出和自动关闭软键盘的相关文章

Android不自动弹出软键盘和不让软键盘弹出挤压图形

软键盘弹出挤压图形很变态,设计好的模型会在软件盘弹出数据变得丑陋无比,为了保持不变,只需要在 Manifest.xml 相应的 Activity 里添加 android:windowSoftInputMode="adjustPan|stateHidden" 为了不让软件盘弹出,如果是Activity的话,可以直接添加如下代码解决自动弹出软键盘的问题 <activity android:name="com.guandehao.baobiao.B_KuCunBaoBiao&

【转】Android开发之ListView+EditText-要命的焦点和软键盘问题解决办法

Android开发之ListView+EditText-要命的焦点和软键盘问题解决办法 [原文链接] 这篇文章完美的解决了我几个月没结论的bug... 感谢热爱分享的技术达人~ 我是怎么走进这个大坑的..... 需求: 在listview中出一个EditText 接受用户输入消息. 前期解决方案: 给这个EditText绑定焦点事件.... 悲剧就开始了... 知道吗?当这个EditTextView被点了下,它的焦点就不断的获取,失去,获取,失去...  只点一下... 就频繁的重复..最后大部

Android之弹出/隐藏系统软键盘

Android弹出/隐藏系统软键盘的代码如下: InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); imm.showSoftInput(inputComment, InputMethodManager.SHOW_FORCED); // 强制打开软键盘 imm.hideSoftInputFromWindow(inputComment.getWindowToken(

Android EditText不弹出输入法焦点问题的总结

转自:http://mobile.51cto.com/aprogram-403138.htm 看一个manifest中Activity的配置,如果这个页面有EditText,并且我们想要进入这个页面的时候默认弹出输入法,可以这样设置这个属性:android:windowSoftInputMode=stateVisible,这样就会默认弹起输入法,当然还有别的办法. 1 <activity android:name=".ui.login" 2 android:configChang

android不自动弹出虚拟键盘

如果是Activity的话 在 Manifest.xml 相应的 Activity 里添加 android:windowSoftInputMode="adjustPan|stateHidden" 如果是其他View的话添加以下代码 InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(view.ge

android EditText设置弹出数字输入法键盘

<EditText      android:id="@+id/edit_digit_input"      android:layout_width="wrap_content"      android:layout_height="wrap_content"      android:digits="1234567890."      android:singleLine="true"     

EditText获取和失去焦点,软键盘的关闭,和软键盘的显示和隐藏的监听

软键盘显示和隐藏的监听: 注: mReplayRelativeLayout是EditText的父布局 //监听软键盘是否显示或隐藏 mReplayRelativeLayout.getViewTreeObserver().addOnGlobalLayoutListener( new ViewTreeObserver.OnGlobalLayoutListener() { @Override public void onGlobalLayout() { Rect r = new Rect(); mRe

Android点击其他任意位置收起软键盘

在Android应用开发中,经常出现这样的需求,用户在输入文字的过程中,可能不想继续输入了,通过滑动或者点击其他位置(除软键盘和EditText以外的任何位置),希望能够自动收回键盘,这个功能可能有些rom会自己实现了,但是大部分还是没有自己实现这个功能的,那么如果我们要自己实现,要如何解决呢? 首先,我们当然要先拦截其他任何的用户触摸屏幕的事件,通过重写Activity的boolean dispatchTouchEvent(MotionEvent ev);可是实现拦截用户的触摸事件.代码如下:

android edittext不弹出软键盘

EditText 不弹出软件键盘2011-05-17 12:291.EditText默认不弹出软件键盘 方法一: 在AndroidMainfest.xml中选择哪个activity,设置windowSoftInputMode属性为adjustUnspecified|stateHidden 例如:<activity android:name=".Main"                   android:label="@string/app_name"