今天在过去别人写的代码发现InputMethodManager这个不知道是什么意思,后来到网速搜了一下发现一个博客 写的很好本来想转发的过来可是发现不能转到这里来,只能copy他的文章希望这个大哥看到了不要打我~.~!
其中editText是输入框
InputMethodManager imm = (InputMethodManager)getSystemService(SendActivity.this.INPUT_METHOD_SERVICE);
//隐藏键盘
imm.hideSoftInputFromWindow(editText.getWindowToken(), 0);
//显示键盘
imm.showSoftInput(editText, 0);
程序启动后直接弹出软键盘,不能直接在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);
禁止弹出:
android:name=".ClientSearchViewActivity"
android:label="@string/app_name"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustUnspecified|stateHidden"
android:configChanges="orientation|keyboardHidden">