回答
您可以为每个MenuItem设置自定义视图。
@Override
public boolean onCreateOptionsMenu(Menu menu) {
menu.add("test").setActionView(R.layout.custom_action_menu_item);
return super.onCreateOptionsMenu(menu);
}
http://developer.android.com/reference/android/view/MenuItem.html#setActionView%28int%29
它在MenuItem显示在操作栏中时有效。但在菜单项溢出菜单内不起作用。 – user2069363 2013-02-13 18:24:55
最后一天,我必须实现操作栏Sherlock.And我的情况是一样的你。我有落实适配器为我导航List.Let说:
public class MyNavigationAdapter extends BaseAdapter {
Context mContext = null;
String[] mTitles;
LayoutInflater mLayOutInflater = null;
public MyNavigationAdapter(Context context, String[] titles) {
this.mContext = context;
this.mTitles = titles;
mLayOutInflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
@Override
public int getCount() {
return mTitles.length;
}
@Override
public Object getItem(int arg0) {
return null;
}
@Override
public long getItemId(int arg0) {
return 0;
}
@Override
public View getView(int position, View view, ViewGroup parent) {
if (view == null)
view = mLayOutInflater.inflate(R.layout.my_list_custom_row, parent,false);
TextView rowName = (TextView) view.findViewById(R.id.title);
rowName.setText(mTitles[position]);
rowName.setBackground(your desire drawle);// yo
u can also set color etc.
//OR
if(position%2==0)
rowName.setBackgroundColor(Color.RED);
else
rowName.setBackgroundColor(Color.BLUE);
return view;
}
}
在这之后,你必须写在你的活动,这些行代码的onCreate methos。
ActionBar actionBar = getActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
actionBar.setListNavigationCallbacks(mNavigationAdapterObj, mNavigationListner);
了解更多信息.Consult here.
好的解决方案!但我更喜欢这一个:http://stackoverflow.com/a/14123377/2069363因为它允许我创建与溢出菜单图标在原来的溢出菜单相同的地方微调。 – user2069363 2013-02-13 18:44:26
是的,你也可以添加图标,如果你想。如果你愿意,我可以更新我的答案。 – 2013-02-13 18:52:36
是同样的解决方案,基本主题是一样的。接受我的回答。 – 2013-02-13 18:54:48
这一个https://stackoverflow.com/a/14123377/2069363对我的作品!
您可以在菜单项的操作布局中使用微调器(或IcsSpinner for ActionBarSherlock)创建此类行为。尽管你必须使用一些小技巧 - 隐藏当前选中的项目。
- 1. ActionBar溢出菜单手动执行样式信息
- 2. 样式ActionBar下拉菜单
- 3. 自定义ActionBar和溢出菜单
- 4. Android ActionBar溢出复选框样式
- 5. Android:RTL ActionBar菜单项
- 6. 菜单样式,CSS,HTML。顶部菜单避免溢出
- 7. ActionBar上特定菜单项的不同外观/样式
- 8. ActionBar之外的自定义溢出菜单
- 9. 溢出菜单的3个点没有显示在ActionBar
- 10. CSS菜单溢出?
- 11. 菜单不溢出
- 12. 如何检测菜单项溢出?
- 13. 唯一识别ActionBar选项菜单项
- 14. 通过XML覆盖溢出菜单样式
- 15. 菜单操作项目进入溢出菜单
- 16. Honeycomb的Android ActionBar选项卡样式
- 17. 修改ActionBar中Android项目的样式
- 18. ActionBar Sherlock的样式选项卡
- 19. ActionBar菜单项背景使用xml drawable?
- 20. Actionbar在Gingerbread中保留菜单项
- 21. CSS - 帮助我的样式菜单项
- 22. ActionBar和滑出菜单在Android
- 23. 在屏幕底部有弹出式菜单的ActionBar
- 24. 复制菜单项,每次它在打开溢出选项菜单
- 25. 单元测试操作栏溢出的菜单项
- 26. 在溢出按钮上的弹出式菜单浮标
- 27. 更改工具栏菜单项样式
- 28. 溢出图标不是ActionBarSherlock的Actionbar
- 29. Android操作栏始终显示操作栏中菜单项的溢出菜单
- 30. 更改溢出弹出菜单项文字颜色
它是[可以改变*全部*溢出菜单项的颜色](https://groups.google.com/forum/?fromgroups#!topic/actionbarsherlock/5lHOKNlXn_4),但我不相信可以单独设置它们。 – Eric 2013-02-13 17:57:28
但我需要为每个项目不同的样式。我知道一种方法 - PopupWindow具有自己的布局。但它不像操作栏中的弹出式菜单那么优雅。 – user2069363 2013-02-13 18:03:13
您可以实现此设置您的动作列表的适配器。在适配器中,您可以设置不同的背景颜色。 – 2013-02-13 18:03:39