2013-02-07 90 views
2

我想爲列表視圖創建一個類似於在列表視圖中使用的列表視圖的上下文菜單。 (見屏幕截圖,三角形按鈕打開相冊的菜單,然後根據選定的項目選擇不同的選項)。但我也在其他應用程序中看到過此元素。Android上下文菜單(類似於音樂應用程序)

https://lh5.ggpht.com/IvSpTcmdyUOC9GoX-x528xAzy9jEPjWCLcNcru4CBEcUNZ-YHo0y2TQHcGmuvOQ2zg

的問題是,我既不知道如何正確地實現三角形按鈕(就是那個只是一個普通的ImageButton?)我也不知道該如何打開彈出窗口,每個條目。

我試過的一種方法是使用微調器。但問題是紡紗工總是和其中最長的元素一樣寬,而不僅僅是三角形。否則這將是一個很好的解決方案。有沒有辦法將微調器設置爲較小尺寸並隱藏其下方的水平線?

或者一個微調是完全錯誤的方法,我應該以不同的方式解決這個問題?

回答

2

您應該使用Button或ImageButton來觸發PopupMenu。您可以使用Android Holo Colors來創建背景圖像。或者,Holo默認的微調背景也可以做到這一點。

當按鈕被點擊時,你應該觸發一個PopupMenu。 Android PopupMenu適用於Android SDK API 11+。因此,如果您即將支持較低版本,則應考慮外部庫,如HoloEverywhere

Spinner Widget不適合您的目的。

+0

PopupMenu看起來像一個很好的解決方案,但它需要API級別11.:/我實際上計劃支持從8以上。 – viirus

+0

如果您支持API 8+,則可以考慮HoloEverywhere庫。他們向後移植了PopupMenu-Widget,但是由於他們的版本還不如原來的那麼好,所以我也寫了一個簡單的backport。在github上看看它。 https://github.com/Taig/PopupMenuCompat – Taig

+1

太棒了!你的圖書館似乎工作完美。 (我會將你的答案標記爲已接受,如果你可以在答案中添加一個鏈接到holoeverywhere /你的圖書館將會很好,只是爲了讓它更加明顯) – viirus

0

我還沒有真正使用過音樂應用程序,但我會嘗試從屏幕截圖中瞭解我所瞭解的問題。在我看來,選擇出現在一個簡單的對話框中。這個對話框有一個列表,可以很容易地實現,如here
因此,您可以做的是在列表項中包含ButtonImageViewImageButton或任何其他View,然後單擊它將顯示對話框。

相關問題