问题:新打开acitivyt时,界面中的输入框获得到焦点,自动弹出软键盘
期望效果:activity,打开,软年盘不自动打开。当点击editText,再打开软键盘
解决方案:
<activity android:name="SelectPartsActivity" android:screenOrientation="landscape" android:windowSoftInputMode="stateHidden|stateAlwaysHidden" label="配件选择"/>
清单文件activity中添加android:windowSoftInputMode属性。该属性具体内容详解见文章:
http://wangxuefang.iteye.com/admin/blogs/1672517
网上找的另一种解决方案,本人未测试,不知是否可用:
文章地址:http://hustpawpaw.blog.163.com/blog/static/184228324201182765548511/
扫描二维码关注公众号,回复:
784791 查看本文章
程序启动后直接弹出软键盘,不能直接在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);