[英]Android keyboard remains same upon application launch from apps search
我有一個只有一個屏幕的Android應用程序,此屏幕上沒有編輯文本字段(實際上,此屏幕上沒有UI元素)。
當我嘗試通過提供應用名稱作為關鍵字在應用搜索中搜索該應用時(明顯的鍵盤出現以便在應用托盤中鍵入要搜索的應用名稱),搜索后,我點擊了應用以打開/啟動鍵盤出來,直到我按下返回按鈕,它才會消失。 當我啟動我的應用程序時,鍵盤不應出現在該處,因為該鍵盤來自應用程序搜索。 我看起來對UI不友好,我們該如何處理。 請分享您對此的想法。
您可以在自己的活動下的清單中設置此值:
<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));
在您的第一個活動中實現此功能,它將隱藏鍵盤
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
View view = activity.getCurrentFocus();
if (view == null) {
view = new View(activity);
}
imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
<activity
android:name=".Activity"
android:windowSoftInputMode="adjustPan|stateAlwaysHidden">
</activity>
將此行放入您的活動標簽中的清單文件中
滿足您需求的最佳解決方案是:-
創建一個BaseActivity
,
然后將所有活動擴展到BaseActivity而不是AppcompactActivity
然后在清單中這樣做
<activity
android:name=".BaseActivity"
android:windowSoftInputMode="stateAlwaysHidden">
當任何活動加載時,這不會顯示鍵盤
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.