我有一个Android应用程序,该应用程序只有一个屏幕,并且该屏幕中没有否编辑文本字段(实际上,该屏幕上没有UI元素)。
当我尝试通过在应用搜索中输入关键字名称(其明显的键盘出现以便在应用托盘中输入要搜索的应用名称)搜索该应用时,在搜索后,我点击了我的应用以打开/启动仍然会弹出键盘,直到我按“后退”按钮,键盘才会消失。当我启动我的应用程序时,键盘不应出现在该处,因为该键盘来自应用程序搜索。我看起来对UI不友好,我们该如何处理。请分享您对此的想法。
答案 0 :(得分:1)
您可以在自己的活动下的清单中设置此值:
<activity
android:name=".YourActivity"
....
android:windowSoftInputMode="stateAlwaysHidden">
或者尝试像这样在onCreate中手动隐藏键盘:
//kotlin
fun hideKeyboard(context:Context, view:View){
val inputMethodManager =
context.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
inputMethodManager.hideSoftInputFromWindow(view.windowToken,
InputMethodManager.HIDE_IMPLICIT_ONLY)
}
调用这样的代码
hideKeyboard(this, findViewById<View>(android.R.id.content));
答案 1 :(得分:1)
在您的第一个活动中实现此功能,它将隐藏键盘
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
View view = activity.getCurrentFocus();
if (view == null) {
view = new View(activity);
}
imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
答案 2 :(得分:0)
<activity
android:name=".Activity"
android:windowSoftInputMode="adjustPan|stateAlwaysHidden">
</activity>
将此行放入您的活动标签中的清单文件
答案 3 :(得分:0)
满足您需求的最佳解决方案是:-
创建一个BaseActivity
然后将您的所有活动扩展到BaseActivity,而不是 AppcompactActivity
然后在清单中执行此操作
<activity
android:name=".BaseActivity"
android:windowSoftInputMode="stateAlwaysHidden">
任何活动加载时,这不会显示键盘