Android菜单(动画菜单、360波纹菜单)
程序员文章站
2022-06-30 08:33:54
前言:android菜单常用集合:fragmenttabhost系统菜单、上移式菜单、360波纹菜单、展开式菜单。详解注释,可直接拿来用!
效果:
开发环境...
前言:android菜单常用集合:fragmenttabhost系统菜单、上移式菜单、360波纹菜单、展开式菜单。详解注释,可直接拿来用!
效果:
开发环境:androidstudio2.1.2
部分代码(activity)
public class normalactivity extends appcompatactivity { private fragmenttabhost mtabhost; private string[] mtabtitle = new string[]{"首页", "软件", "游戏", "管理"}; //菜单图片样式 private int[] mimageresid = new int[]{r.drawable.sel_tab_home, r.drawable.sel_tab_app, r.drawable.sel_tab_game, r.drawable.sel_tab_mag}; //要加载的fragment private class[] mfragclass = new class[]{tabfragment.class, tabfragment.class, tabfragment.class, tabfragment.class}; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_menu_normal); inittabhost(); } private void inittabhost() { mtabhost = (fragmenttabhost) findviewbyid(android.r.id.tabhost); mtabhost.setup(this, getsupportfragmentmanager(), r.id.relate_tab_content); for (int i = 0; i < mfragclass.length; i++) { //bundle传值到fragment中,不传值,则第三个参数为null bundle bundle = new bundle(); bundle.putstring(tabfragment.frag_key, mtabtitle[i]); //第一参数:菜单的文字&样式 第二个参数:需要加载fragment,第三个参数:需要传到fragment中的值 mtabhost.addtab(mtabhost.newtabspec(mtabtitle[i]).setindicator(getindicator(i)), mfragclass[i], bundle); } //去掉间隔线 mtabhost.gettabwidget().setdividerdrawable(android.r.color.transparent); } //菜单的布局样式 private view getindicator(int index) { view view = layoutinflater.from(this).inflate(r.layout.tabhost_indicator, null); imageview imageview = (imageview) view.findviewbyid(r.id.tab_icon); textview title = (textview) view.findviewbyid(r.id.tab_title); imageview.setimageresource(mimageresid[index]); title.settext(mtabtitle[index]); return view; }
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!