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

本文提供了解决方案,说明如何在Android Activity打开时避免软键盘自动弹出,仅在用户点击EditText时才显示软键盘。通过在清单文件中添加特定属性,实现了这一效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

程序启动后直接弹出软键盘,不能直接在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);
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值