簡體   English   中英

從應用程序搜索啟動應用程序后,Android鍵盤保持不變

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM