我基於代碼Searchable Dictionary v2構建了一個搜索小部件。一切工作正常,但有一個問題。如何在旋轉屏幕時保持android搜索對話框?
如果我將屏幕從縱向旋轉到橫向或反之亦然,當搜索對話框打開時,文本編輯框和鍵盤屏幕會消失並再次運行。
有沒有什麼辦法可以讓它將編輯框切換到專用模式(橫向或縱向)而無需退出並重新運行對話框?
您可以使用可搜索詞典檢查行爲。 我想要的東西就像谷歌搜索部件。它只是在保持屏幕的同時切換編輯框模式。
我基於代碼Searchable Dictionary v2構建了一個搜索小部件。一切工作正常,但有一個問題。如何在旋轉屏幕時保持android搜索對話框?
如果我將屏幕從縱向旋轉到橫向或反之亦然,當搜索對話框打開時,文本編輯框和鍵盤屏幕會消失並再次運行。
有沒有什麼辦法可以讓它將編輯框切換到專用模式(橫向或縱向)而無需退出並重新運行對話框?
您可以使用可搜索詞典檢查行爲。 我想要的東西就像谷歌搜索部件。它只是在保持屏幕的同時切換編輯框模式。
一旦屏幕方向改變,Android會創建一個新的活動/視圖,所以您可能必須自己處理屏幕方向。我成功地在應用中使用了這個解決方案,我假設它也適用於小部件。
參見如何做到這頁:
http://www.androidpeople.com/android-how-to-handle-screen-orientation-change-issue/
其他一些有用的提示(基本上是相同的解決方案)在這裏:
How do I handle screen orientation changes with an activity started within a tab's activity
How to handle screen orientation change when progress dialog and background thread active?
有關的onPause的一些信息()和的onSaveInstanceState()(如您使用的是小部件可能不適用,但以防萬一:))是在這裏:
How do I disable orientation change on Android?
我做什麼,鎖定方向,同時顯示的對話框,並在完成後解鎖:
int currentOrientation = getResources().getConfiguration().orientation;
if (currentOrientation == Configuration.ORIENTATION_LANDSCAPE) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE); //locks landscape
}
else {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT); //locks port
}
// do work
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);
網址不再起作用。你能描述一下解決方案嗎?我嘗試重新創建搜索過程,以擴展工具欄中的搜索操作,並輸入用戶搜索文本。這工作,直到我完成搜索。此時工具欄中的圖標消失。導航圖標和溢出(三個點)圖標仍然存在,但我的搜索圖標(和上傳圖標)在那裏消失了。他們在另一個屏幕上旋轉恢復 – 2018-02-23 14:03:51