Actionbar styled overflow menu items

匿名 (未验证) 提交于 2019-12-03 01:57:01

问题:

I need to make fully custom overflow menu items (different background colors as minimum as showed on picture).

Is it possible?

回答1:

Last day i have to implement Action Bar Sherlock.And my case was same as yours. I have implement Adapter for my navigation List.Let say:

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;     }  } 

After this,you have to write these line of code in your Activity onCreate methos.

  ActionBar actionBar = getActionBar();     actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST); actionBar.setListNavigationCallbacks(mNavigationAdapterObj, mNavigationListner); 

for more information .Consult here.



回答2:

You can set a custom view for each 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



回答3:

This one https://stackoverflow.com/a/14123377/2069363 works for me!

You can create such behavior using Spinner (or IcsSpinner for ActionBarSherlock) in action layout of a menu item. Though you have to use a little trick - hide the currently selected item.



易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!