【开源】Context-Menu.Android
Context-Menu.Android
- https://github.com/Yalantis/Context-Menu.Android
介绍:
非常生动的上下文菜单效果,根据dribbble上的概念设计实现的。运行效果:
![]()
使用说明:
创建含有文字与图标的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:每一个动画播放的持续时间。
posted on 2015-04-10 09:56 wasdchenhao 阅读(418) 评论(0) 收藏 举报

浙公网安备 33010602011771号