【原创】android仿ucweb的菜单效果
[size=medium]先看一张图
这里有几个要点
1,主界面有个listview+下面一个toolbar
2,按menu键的时候弹出一个dialog
问题是,弹出的dialog如何显示成gridview的形式呢,你说对了,就是用一个gridview来显示出来。
具体的思路就是如此了,首先主界面运用一个RelativeLayout来布局相对的位置,上面是个ListView,下面是个Gridview,当然,你也可以用其他的方式来布局先面的toolbar。
新建一个项目,我的MainActivity名字是UcwebDemoActivity,代码如下:
这里面用到了几个layout文件,位于res/layout/下面:
首先是main.xml
这是主界面的布局文件
还有一个是gridview_menu.xml,这是用来menu弹出来的dialog的view:
还有一个是用来布局每个item的,
好了,具体的文件就基本如上了,当然了,还有很多图片文件,需要拷贝到资源文件下面去。运行工程就可以看到效果了。
附件是源码。
另外我把菜单效果单独抽象出来成了一个类,方便以后复用,详细见附件中的UCView.java。
用法主要是要先在OnCreate中先初始化UCView,然后再在@Overridepublic boolean onCreateOptionsMenu(Menu menu) {menu.add("menu");return super.onCreateOptionsMenu(menu);}@Overridepublic boolean onMenuOpened(int featureId, Menu menu) {if (ucView.getDialog() == null) {ucView.setDialogBuilder(new AlertDialog.Builder(this));ucView.getDialogBuilder().setView(menuView).show();} else {ucView.getDialog().show();}return false;}
中使用。
源码可以从附件2中得到。
[/size]