【开源】Context-Menu.Android

Context-Menu.Android

 

使用说明:

创建含有文字与图标的MenuObject对象:

1
2
3
4
5
6
7
ArrayList<MenuObject> menuObjects = new ArrayList<>();
        menuObjects.add(new MenuObject(R.drawable.icn_close));
        menuObjects.add(new MenuObject(R.drawable.icn_1, "Send message"));
        menuObjects.add(new MenuObject(R.drawable.icn_2, "Like profile"));
        menuObjects.add(new MenuObject(R.drawable.icn_3, "Add to friends"));
        menuObjects.add(new MenuObject(R.drawable.icn_4, "Add to favorites"));
        menuObjects.add(new MenuObject(R.drawable.icn_5, "Block user"));

创建ContextMenuDialogFragment的实例

1
 mMenuDialogFragment = ContextMenuDialogFragment.newInstance((int) getResources().getDimension(R.dimen.tool_bar_height), menuObjects );

设置打开ContextMenuDialogFragment的菜单按钮:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
@Override
    public boolean onCreateOptionsMenu(final Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.menu_main, menu);
        return true;
    }
 
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case R.id.context_menu:
                mMenuDialogFragment.show(fragmentManager, "ContextMenuDialogFragment");
                break;
        }
        return super.onOptionsItemSelected(item);
    }

实现ContextMenuDialogFragment.ItemClickListener接口的onItemClick方法

1
2
3
4
5
6
public class MainActivity extends ActionBarActivity implements ContextMenuDialogFragment.ItemClickListener
@Override
    public void onItemClick(View clickedView, int position) {
     //Do something here
}

自定义

为了达到最佳效果menu item的大小最好和actionbar的高度一致。

ContextMenuDialogFragment的newInstance可以接收如下参数

animationDelay:在打开与关闭ContextMenuDialogFragment之前的延迟时间。

animationDuration:每一个动画播放的持续时间。

相关代码

  • Side-Menu.Android
  • bitmapMesh
  • Android-CircleMenu
  • ExpandingImageMenu
  • AndroidTreeView

posted on 2015-04-10 09:56  wasdchenhao  阅读(418)  评论(0)    收藏  举报

导航