我設置了我的動作欄的背景,但在分割模式下背景不起作用。android動作欄樣式(按下分割樣式和菜單項)
我知道我必須設置這樣的:
<item name="android:backgroundSplit">@drawable/some_drowable</item>
但它不會在API級別工作11
是否有任何其他方式做到這一點?
我有行動酒吧風格另外一個問題,我想,當它被按下改變操作欄圖標的顏色(不包括後臺區域,但替換圖標)。我怎樣才能做到這一點 ?
我設置了我的動作欄的背景,但在分割模式下背景不起作用。android動作欄樣式(按下分割樣式和菜單項)
我知道我必須設置這樣的:
<item name="android:backgroundSplit">@drawable/some_drowable</item>
但它不會在API級別工作11
是否有任何其他方式做到這一點?
我有行動酒吧風格另外一個問題,我想,當它被按下改變操作欄圖標的顏色(不包括後臺區域,但替換圖標)。我怎樣才能做到這一點 ?
首先,我不知道該怎麼做。但第二,我可以幫助你。這並不難。
基本上,操作欄僅僅是一個與你否則將菜單按鈕下方設置任何菜單選項欄。
因此,它是在與呼叫您的應用程序的啓動創建
@Override
public boolean onCreateOptionsMenu(Menu menu) {
...
}
而且任何選擇的選項將導致
@Override
public boolean onOptionItemSelected(MenuItem item) {
...
}
被調用,與菜單項的用戶選擇。
但是,這涉及到的選項菜單,這是您要使用更新操作的一個的第三種方法。它被稱爲onPrepareOptionsMenu(Menu menu)
(link)。在此方法中,允許更改使用onCreateOptionsMenu(...)
創建的菜單。
因此,通過這些知識,您可以通過調用item.getItemId()
來檢查在動作欄中點擊哪個動作,從而保持onOptionsItemSelected(...)
中特定項目的(全局)狀態。現在
,你將有你希望它是在其中的作用是在操作欄上輕敲知識,和國家。
別急,當應用程序啓動已經創建了操作欄。那麼如何讓它重新創建呢?其實很簡單。您只需致電invalidateOptionsMenu()
(link)即可使其無效。這會導致Android重新繪製操作欄,並導致整個行onCreateOptionsMenu(...)
→onPrepareOptionsMenu(...)
再次被調用。
所以,現在你有你需要的一切:
onOptionsItemSelected(...)
當正在重繪操作欄,您可以更改操作欄上的項目的圖標,以便將更新到你希望它是國家。
檢查值,值-11,值-14文件夾相同樣式appllied? –
謝謝,我現在可以爲api 14設置背景分割,並且可以工作! 用戶使用應用程序與API <14查看不同的背景,這不是一個問題。 – tulkas85
不用客氣 –