2013-07-08 120 views
3

根據Google training doc發送的內容,Intent.createChooser()的結果是一個列表:Intent.createChooser()顯示樣式?

[無法發佈圖片,因爲我是新的。看到上面的網址]

但是,當我實現它時,我得到更多的網格視圖,如在this post

選擇器顯示樣式Android版本特定?我注意到在我的4.2.2設備上運行的Dropbox顯示列表式顯示。也許他們實現了一個自定義選擇器,或者我不知道一個Intent.putExtra()選項?

回答

0

意圖選擇器UI在各種Android版本中發生了變化。

具體來說,在Jelly Bean(4.1)之前,它被實現爲一個黑名單。在果凍豆,它變成了一個光電網。

看看截圖來自Android Police's article on Jelly Bean UI changesOld style of Chooser New style of Chooser

還要注意Commonsware寫的變化,並建議開發商要改變自己的自定義選擇器在他的博客中The Linkify Problem: The Detection and the Mitigation,他指出,這可能與專利有關:

例如,Android 4.1(Jelly Bean)會稍微改變選擇器,在選擇器的行或網格中顯示一組圖標,而不是經典的垂直ori ented菜單ish列表。不管這個改變是基於這個專利引入的,我們可能永遠不會知道。

此外,我認爲Dropbox可能爲他們的選擇器創建了自己的UI。

5

意向選擇器屬於系統!它會根據您設備的主題顯示。你不能改變,除非你修改系統UI。關於Dropbox他們可能創建了實際上不屬於系統的選擇器。他們可能將主題活動看起來像一個選擇器,並向用戶選擇器發送一個意圖。

+1

如果你想實現自己的,這是你需要的類http://developer.android.com/reference/android/content/pm/PackageManager.html#queryBroadcastReceivers (android.content.Intent,int) –