Actionbar styled overflow menu items

后端 未结 3 1714
清歌不尽
清歌不尽 2020-12-10 20:07

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

\

相关标签:
3条回答
  • 2020-12-10 20:28

    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.

    0 讨论(0)
  • 2020-12-10 20:35

    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

    0 讨论(0)
  • 2020-12-10 20:35

    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.

    0 讨论(0)
提交回复
热议问题