無論如何,當用戶點擊內置搜索對話框中的應用程序圖標時,是否有捕獲?請注意我不是指自定義對話框,而是指內置於搜索對話框中的android。可以點擊內置搜索對話框中的應用程序圖標嗎?
回答
不,有沒有辦法讓SearchDialog
的應用程序圖標點擊。
但只是爲了好玩,讓我們假設存在着一些哈克的解決辦法,將工作做好。好的,我們已經得到了想要的行爲......但現在我們有兩個問題:
的
SearchDialog
的行爲是不與其他Android設備保持一致。這會減少用戶體驗,因爲用戶希望搜索界面在所有Android設備上都能發揮相同的作用。你的應用程序現在利用了內部API,它可以在新的SDK被釋放或可以不保持一致的。對於所有你知道,Android團隊可以從
@+id/search_app_icon
的app icon'sid
更改爲@+id/search_home_icon
。你劈依賴於內部API ...所以這樣的變化將導致新的設備上運行你的應用程序崩潰(如任何運行時尋找search_app_icon
將返回null
)。此外,像三星和HTC公司都免費,他們發佈他們的新設備,以在公衆面前改變內部API。接下來的三星Galaxy可能會完全重新實施
SearchDialog
課程,更新其用戶界面/主題等......你永遠無法知道。
所以基本上,你不能......而且你不應該這樣做。
只是因爲我很無聊,這裏的源代碼,使我對我的回答:
檢查出
SearchManager.java
的源代碼,並注意SearchManager
保持SearchDialog
作爲私有實例變量mSearchDialog
。檢查出
SearchDialog.java
的源代碼,並注意SearchDialog
引用的應用程序圖標爲私有實例變量mAppIcon
。還要注意的是,SearchDialog
通過對findViewById
調用初始化變量,如看到here。查看
search_bar.xml
的源代碼,並注意默認情況下ImageView
未設置爲clickable
。由於在公共SDK能夠改變這個View
的行爲沒有(方法,有使其可點擊沒有可靠的方法。
我敢肯定,這是不可能做到這一點使用了Android的公共SDK。
我認爲唯一的解決辦法是寫自己的自定義對話框,但我affraid與內置的對話框中你不能做到這一點。
因此註冊一個視圖觸摸listnener是不可能的? –
@ jaumebd,如果你建議他從頭開始重新編寫搜索界面,那麼祝你好運... –
- 1. 對話框標題中的可點擊圖標
- 2. 點擊彈出式搜索框中的搜索圖標
- 3. 微調對話框內搜索視圖
- 4. 使用SikuliFireFoxDriver可以點擊文件對話框嗎?
- 5. 我可以在iPhone應用程序中搜索YouTube視頻嗎?
- 6. 內置關於OS X中的應用程序對話框10.8
- 7. 在聯繫人圖標點擊後,將自己的應用程序圖標添加到QuickAction對話框中
- 8. 您可以從java對話框應用程序下載文件(圖片)嗎?
- 9. 對話框中的可點擊鏈接
- 10. 對話框中的jQueryUI對話框輸入不可點擊
- 11. 使用createChooser可以在共享對話框中更改應用程序圖標嗎?
- 12. 我可以讓我的iPhone應用程序的內容通過Spotlight搜索嗎?
- 13. 排序樹內的可點擊圖標
- 14. 將可點擊跳過標籤設置爲對話框。當它點擊關閉對話框
- 15. 我可以搜索地圖內的對象嗎?
- 16. 可以搜索引擎抓取純JavaScript應用程序嗎?
- 17. 在android中撥打電話號碼(點擊圖標可以撥打電話)嗎?
- 18. 窗口/對話框程序可以在命名空間中嗎?
- 19. 我可以在對話框程序中使用HANDLE_MSG消息破解程序嗎?
- 20. 點擊應用上QtQuick對話框按鈕關閉對話框
- 21. 在Angular2應用程序中對PrimeNG TreeNode的多個可點擊圖標
- 22. 在搜索按鈕點擊時被取消的不可取消的對話框
- 23. 您可以連接UWP應用程序點對點嗎?
- 24. 我可以在沒有對話框的情況下卸載應用程序嗎?
- 25. PHP Ajax Live搜索框可點擊
- 26. CKEditor圖像對話框窗體在模態對話框中不可點擊
- 27. Facebook的應用程序編輯圖標對話框破
- 28. Windows Phone搜索框點擊搜索結果的標籤
- 29. EditText需要點擊兩次打開搜索對話框
- 30. 應用程序中可點擊的元素應該始終是錨標籤嗎?
爲什麼你不能在對話框中註冊觸摸監聽器,並推斷用戶是否點擊了圖標所在的quandrant? –
你會如何知道圖標的位置?你怎麼知道首先有一個圖標?你怎麼知道這個圖標有多大?你怎麼知道三星或HTC沒有決定一起刪除'SearchDialog'?好吧,那可能是一種壓力......但你知道我的意思嗎?當然,您可以在屏幕的左上角註冊一個觸摸監聽器......但要預測圖標可能顯示的每種可能場景幾乎是不可能的。 –
它也不適用於Google TV和其他沒有觸摸屏的設備:P –