Context-Menu.Android
介绍:
非常生动的上下文菜单效果,根据dribbble上的概念设计实现的。
运行效果:
使用说明:
创建含有文字与图标的MenuObject对象:
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的实例
mMenuDialogFragment = ContextMenuDialogFragment.newInstance((int) getResources().getDimension(R.dimen.tool_bar_height), menuObjects );
设置打开ContextMenuDialogFragment的菜单按钮:
@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方法
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:每一个动画播放的持续时间。
已下载
0