android显示和隐藏软键盘

显示键盘:
        EditText  editText.setFocusable(true);
        editText.setFocusableInTouchMode(true);
       editText.requestFocus();
       InputMethodManager inputManager = (InputMethodManager)editText.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
       inputManager.showSoftInput(editText, 0); 

    首先要对指定的输入框请求焦点。然后调用输入管理器弹出软键盘。

    警告:对于刚跳到一个新的界面就要弹出软键盘的情况上述代码可能由于界面为加载完全而无法弹出软键盘。此时应该适当的延迟弹出软键盘如998毫秒(保证界面的数据加载完成)。实例
    [代码]java代码:

     Timer timer = new Timer();
      timer.schedule(new TimerTask(){
              public void run(){
                  InputMethodManager inputManager = (InputMethodManager)editText.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
                  inputManager.showSoftInput(editText, 0);
              }
       }, 998); 

隐藏键盘:      

    方法二:
    让EditText失去焦点,使用EditText的clearFocus方法
    例如:EditText edit=(EditText)findViewById(R.id.edit);
               edit.clearFocus();
    方法三:
    强制隐藏Android输入法窗口
    例如:EditText edit=(EditText)findViewById(R.id.edit);
               InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
               imm.hideSoftInputFromWindow(edit.getWindowToken(),0);

    方法四:EditText始终不弹出软件键盘
    例:EditText edit=(EditText)findViewById(R.id.edit);
           edit.setInputType(InputType.TYPE_NULL);
时间: 2024-11-08 01:46:30

android显示和隐藏软键盘的相关文章

Android 完美的隐藏软键盘方法

最近有这么一个需求:在点击EditText时弹出软键盘,然后在点击空白处或者其他控件的时候隐藏软键盘.这个需求在平板电脑上非常实用,因为屏幕大,用户不可能每次都点左下角去隐藏,并且点击空白处更容易. 刚开始从网上搜索,不是很理想,后来突然想到Android的事件分发机制,于是想到了实现方法: publicclassHomeActivityextendsActivity{     ......     @Override     publicboolean dispatchTouchEvent(M

[转]Android 完美的隐藏软键盘方法 点击编辑框外软键盘消失

最近有这么一个需求:在点击EditText时弹出软键盘,然后在点击空白处或者其他控件的时候隐藏软键盘.这个需求在平板电脑上非常实用,因为屏幕大,用户不可能每次都点左下角去隐藏,并且点击空白处更容易. 刚开始从网上搜索,不是很理想,后来突然想到Android的事件分发机制,于是想到了实现方法: public class HomeActivity extends Activity { ...... @Override public boolean dispatchTouchEvent(MotionE

Android -- 打开时隐藏软键盘

当activity中有edittext时,软键盘会自动弹出,有时希望隐藏软键盘(并保留edittext的focus,比如扫码)可以在activity onCreate时,使用以下代码来实现: this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

【转】 Android 手动显示和隐藏软键盘

1.方法一(如果输入法在窗口上已经显示,则隐藏,反之则显示) 1 InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 2 imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS); 2.方法二(view为接受软键盘输入的视图,SHOW_FORCED表示强制显示) 1 InputMethodManager

Android手动显示和隐藏软键盘

1.方法一(如果输入法在窗口上已经显示,则隐藏,反之则显示) [java] view plaincopy InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS); 2.方法二(view为接受软键盘输入的视图,SHOW_FORCED表示强制显示) [j

Android 手动显示和隐藏软键盘

转:http://blog.csdn.net/h7870181/article/details/8332991 1.方法一(如果输入法在窗口上已经显示,则隐藏,反之则显示) InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS); 2.方法二(vie

android 手动显示与隐藏软键盘HIDE_NOT_ALWAYS

1.方法一(如果输入法在窗口上已经显示,则隐藏,反之则显示) [java] view plaincopyprint? InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS); 2.方法二(view为接受软键盘输入的视图,SHOW_FORCED表示强制

android 显示和隐藏输入法键盘用法介绍

在个别时候,需要强制隐藏Android输入法键盘,如当前键盘正在显示,这个时候点击了侧滑面板,就要强制隐藏输入法键盘.网上常见的方法有: 1.InputMethodManager imm = (InputMethodManager) getActivity() .getSystemService(Context.INPUT_METHOD_SERVICE); imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS); 这个是让输入法状态发

Android 动态显示和隐藏软键盘

** * 动态设置软盘的显示和隐藏 * @author JPH */ public class MainActivity extends Activity implements OnClickListener { private InputMethodManager inputMethodManager; private Timer timer; private EditText edit; @Override protected void onCreate(Bundle savedInstan