在我的Android應用程序中,我將自定義ActionBar以下來自android developer blog和其他地方的技巧。我希望能夠突出顯示ActionBar上的特定菜單項,例如具有不同的背景顏色,因爲它特別適用於當前可見的片段(實際上添加了它)。但是,我還沒有發現任何跡象表明,這可以做到,我也沒有設法做到這一點。可能嗎?如果是這樣如何?ActionBar上特定菜單項的不同外觀/樣式
6
A
回答
12
所以我現在用它來處理一些問題。這裏有雲的片段代碼
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
menuItemCreateCart = menu.findItem(R.id.menuItemCreateCart);
if (menuItemCreateCart == null) {
menuItemCreateCart = menu.add(0, R.id.menuItemCreateCart, 0, R.string.Create);
}
TextView tv = new TextView(getActivity());
tv.setText(R.string.Create);
tv.setTextColor(getResources().getColor(R.color.green));
tv.setBackgroundColor(getResources().getColor(R.color.lightBlue));
tv.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View view) {
createCart();
}
}
);
menuItemCreateCart.setActionView(tv);
主要的疑難雜症是,onclicklistener必須建立在你設定的動作視圖,而不是菜單項爲它工作的視圖設置。這樣你可以做任何你喜歡的事情。
另請注意,您不能使用getActionView來檢索帶標題的原始設置視圖,因爲它將返回null。它似乎更多的是一個替代視圖,而不是默認菜單項的實際視圖。
+0
爲我工作:) – Shivansh 2015-02-05 07:41:25
相關問題
- 1. Actionbar樣式的溢出菜單項
- 2. 支持actionbar菜單樣式
- 3. 樣式ActionBar下拉菜單
- 4. Android Tabs和不同的ActionBar菜單項
- 5. ActionBar上的自定義菜單項
- 6. actionbar菜單項onclick?
- 7. Android:RTL ActionBar菜單項
- 8. 菜單外觀
- 9. 如何在android中的actionBar上更改下拉菜單樣式?
- 10. WPF上的樣式菜單項
- 11. wordpress中的外觀菜單選項
- 12. 更改下拉菜單中特定項目的樣式
- 13. ActionBar Sherlock菜單項OnClick
- 14. FragmentStatePageAdapter重複ActionBar菜單項
- 15. Actionbar子菜單項背景
- 16. 爲Helix3框架(Joomla 3)中的單個菜單項指定不同的樣式
- 17. 選項菜單不顯示在ActionBar
- 18. Animate Android Action Bar菜單項外觀
- 19. 更改菜單項目外觀
- 20. 損壞的ActionBar外觀
- 21. 選項菜單樣式
- 22. WPF菜單項樣式
- 23. 在「ActionBar」項目上顯示彈出式菜單點擊
- 24. 延遲上下文菜單外觀
- 25. 從上下文菜單中選擇特定的菜單項
- 26. WordPress TwentyTwelve自定義菜單當前菜單項樣式
- 27. WPF菜單項的樣式參數不提供菜單上首先打開
- 28. 唯一識別ActionBar選項菜單項
- 29. 檢測選項菜單的外觀(onPrepareOptionsMenu不是答案?)
- 30. 隱藏特定菜單項
您確定使用稍微不同的圖標會不會更容易嗎?或者您可能通過自定義的虛擬操作視圖或ActionProvider完成的其他前景更改? – CommonsWare 2011-12-22 00:56:35
目前這些文字和圖標會更難理解。就自定義操作視圖或ActionProvider而言......我將不得不考慮這一點。 – 2011-12-22 01:06:16
您可以更改文本的前景色,至少如果您轉到操作視圖/「ActionProvider」路線。不幸的是,Android不支持'