Android上是否可以使用不同風格的MenuItems(無論是選項菜單硬鍵還是操作欄 - 它們都是相同的)?不同風格的MenuItems
我想要一個應用選擇器和另一個選擇器。
從我的在線搜索中,我發現您可以更改主題並用自己的樣式覆蓋屬性,但適用於所有MenuItems。
我還能在XML中設置android:background
屬性嗎?
Android上是否可以使用不同風格的MenuItems(無論是選項菜單硬鍵還是操作欄 - 它們都是相同的)?不同風格的MenuItems
我想要一個應用選擇器和另一個選擇器。
從我的在線搜索中,我發現您可以更改主題並用自己的樣式覆蓋屬性,但適用於所有MenuItems。
我還能在XML中設置android:background
屬性嗎?
這是可能的ActionBar
的項目。您必須將您希望具有不同選擇器的項目定義爲自定義操作視圖。
<item
android:id="@+id/menu_custom"
android:actionLayout="@layout/action_view"
android:showAsAction="always"/>
在由android:actionLayout
引用的佈局您有指定您選擇,使其可以點擊的,可聚焦的ImageView
。
<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/action_view_background"
android:clickable="true"
android:focusable="true"
android:focusableInTouchMode="true"
android:minWidth="56dip"
android:paddingBottom="8dip"
android:paddingTop="8dip"
android:src="@drawable/ic_launcher" />
點擊事件不由onOptionsItemSelected
處理。您必須在onCreateOptionsMenu
中附加OnClickListener
。
menu.findItem(R.id.menu_custom).getActionView().setOnClickListener(l);
根據官方文檔在http://developer.android.com/guide/topics/ui/menus.html#checkable
注:圖標菜單(從選項菜單)菜單項不能顯示覆選框或單選按鈕。如果選擇使圖標菜單中的項目可檢查,則每次狀態更改時都必須通過交換圖標和/或文本來手動指示選中的狀態。
這同樣適用於操作欄項目,因爲它是同一個對象,菜單項
我不是指可檢查或不可以,但這可能會導致我的答案。謹慎發佈一些代碼示例? – dnkoutso
可檢查或不可檢查的意思是,MenuItem沒有可以由選擇器表示的內部狀態。因此,如果按下按鈕,您必須手動跟蹤並相應地更改圖標。 –
雖然有點哈克我會拿它! – dnkoutso