欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android菜单(动画菜单、360波纹菜单)

程序员文章站 2022-06-30 08:33:54
前言:android菜单常用集合:fragmenttabhost系统菜单、上移式菜单、360波纹菜单、展开式菜单。详解注释,可直接拿来用! 效果: 开发环境...

前言:android菜单常用集合:fragmenttabhost系统菜单、上移式菜单、360波纹菜单、展开式菜单。详解注释,可直接拿来用!

效果:

Android菜单(动画菜单、360波纹菜单)

Android菜单(动画菜单、360波纹菜单)

Android菜单(动画菜单、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;
  }

源码下载

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!