activity打开时不自动弹出软键盘

问题:新打开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);
 

猜你喜欢

转载自wangxuefang.iteye.com/blog/1672537