在我的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. Android:RTL ActionBar菜单项
- 4. wordpress中的外观菜单选项
- 5. 更改下拉菜单中特定项目的样式
- 6. 为Helix3框架(Joomla 3)中的单个菜单项指定不同的样式
- 7. 损坏的ActionBar外观
- 8. Animate Android Action Bar菜单项外观
- 9. 唯一识别ActionBar选项菜单项
- 10. WPF菜单项的样式参数不提供菜单上首先打开
- 11. 检测选项菜单的外观(onPrepareOptionsMenu不是答案?)
- 12. 隐藏特定菜单项
- 13. ListActivity的ActionBar上的菜单图标
- 14. 同样的菜单不同的活动
- 15. Honeycomb的Android ActionBar选项卡样式
- 16. 修改ActionBar中Android项目的样式
- 17. ActionBar Sherlock的样式选项卡
- 18. ActionBar之外的自定义溢出菜单
- 19. ActionBar溢出菜单手动执行样式信息
- 20. ActionBar菜单项背景使用xml drawable?
- 21. Actionbar在Gingerbread中保留菜单项
- 22. CSS - 帮助我的样式菜单项
- 23. 在ActionBar的菜单项上添加复选框
- 24. Sitecore:更改特定项目下项目的上下文菜单?
- 25. 自定义ActionBar和溢出菜单
- 26. ICS spinner外ActionBar和不工作下拉菜单
- 27. 指定与特定选项的上下文菜单 - 合并
- 28. 上下文菜单中特定项目的选定索引
- 29. 更改工具栏菜单项样式
- 30. 更改Android的选项菜单的外观
您确定使用稍微不同的图标会不会更容易吗?或者您可能通过自定义的虚拟操作视图或ActionProvider完成的其他前景更改? – CommonsWare 2011-12-22 00:56:35
目前这些文字和图标会更难理解。就自定义操作视图或ActionProvider而言......我将不得不考虑这一点。 – 2011-12-22 01:06:16
您可以更改文本的前景色,至少如果您转到操作视图/“ActionProvider”路线。不幸的是,Android不支持'