Android实现360手机助手底部的动画菜单

所属分类: 软件编程 / Android 阅读数: 46
收藏 0 赞 0 分享

首先来看下我们实现的效果和360效果的对比:

360手机助手效果演示

本库实现的效果(Icon来自360手机助手,侵删)

xml布局文件

注:为了美观,讲每个Button的高度以及固定,设置wrap_content时候是最大高度,为50dp,如果需要设置特定高度请参见下文的方法表格

<com.brioal.bottomtab.view.BottomLayout
    android:id="@+id/main_tab"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true">

  </com.brioal.bottomtab.view.BottomLayout>

数据源添加与基本设置

mList = new ArrayList<>();
    mList.add(new TabEntity(R.mipmap.icon_1, "推荐"));
    mList.add(new TabEntity(R.mipmap.icon_2, "游戏"));
    mList.add(new TabEntity(R.mipmap.icon_3, "软件"));
    mList.add(new TabEntity(R.mipmap.icon_4, "应用圈"));
    mList.add(new TabEntity(R.mipmap.icon_5, "管理"));
    mBottomLayout.setList(mList); //设置数据源
    mBottomLayout.setNews(1, 0); //设置未读消息
    mBottomLayout.setNews(2, 1);
    mBottomLayout.setNews(3, 2);
    mBottomLayout.setNews(4, 3);
    mBottomLayout.setNews(5, 4);
    //设置Item点击事件
    mBottomLayout.setSelectedListener(new OnTabSelectedListener() {
      @Override
      public void onSelected(int position) {
        mBottomLayout.cleanNews(position); //清除未读消息
        if (mToast == null) {
          mToast = Toast.makeText(MainActivity.this, position + "", Toast.LENGTH_SHORT);
        } else {
          mToast.setText(position + "");
        }
        mToast.show();
      }
    });

这样设置之后的效果如示例图所以,已经可以基本使用,本库还提供其他自定义效果,如下:

xml属性 Java方法 功能
colorNormal colorNormal void setColorNormal(int colorNormal)  设置未选中的时候Icon和文字的颜色
colorSelected setColorSelect(int colorSelect)  设置选中的时候Icon和文字的颜色
textSize  setTextSize(int textSize) 设置字体的大小
exCircleColor  setExCircleColor(int exCircleColor) 设置外圆颜色
inCircleColor  setInCircleColor(int inCircleColor)  设置内圆颜色
animDuration  setDuration(int duration)  设置点击涟漪的动画时长
void setList(List<TabEntity> list)  设置数据源,格式为资源文件,菜单名称
void setMenuHeight(int height)  设置菜单高度,默认为50dp,适宜高度
void setCurrentIndex(int currentIndex) 设置选中的Tab按钮下表
setSelectedListener(OnTabSelectedListener selectedListener) 设置Item点击事件
setNews(int newSum, int index)  设置指定Item的未读消息数量
cleanNews(int index)  清除指定Item的未读消息

在项目中添加此组件的方式:

Step 1. 项目的build.gradle文件做如下修改

allprojects {
    repositories {
      ...
      maven { url "https://jitpack.io" }
    }
  }

Step 2. 添加依赖

dependencies {
      compile 'com.github.Brioal:BottomTabLayout:1.1'
  }

以上就是这篇文章的全部内容了,希望能对各位Android开发者们有所帮助,如果有疑问大家可以留言交流。

更多精彩内容其他人还在看

Retrofit2日志拦截器的使用

这篇文章主要介绍了Retrofit2日志拦截器的使用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

Android创建外部lib库及自定义View的图文教程

这篇文章主要给大家介绍了关于Android创建外部lib库及自定义View的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

Android分享微信小程序失败的一些事小结

这篇文章主要给大家介绍了关于Android分享微信小程序失败一些事,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

Android分享微信小程序技巧之图片优化

这篇文章主要给大家介绍了关于Android分享微信小程序技巧之图片优化的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

Android Viewpager实现无限循环轮播图

这篇文章主要为大家详细介绍了Android Viewpager实现无限循环轮播图,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Android中的Bitmap序列化失败的解决方法

这篇文章主要介绍了Android中的Bitmap序列化失败的解决方法,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Android自定义通用标题栏CustomTitleBar

这篇文章主要为大家详细介绍了Android自定义通用标题栏CustomTitleBar,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Android组合控件自定义标题栏

这篇文章主要为大家详细介绍了Android组合控件自定义标题栏,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Android自定义复合控件实现通用标题栏

这篇文章主要为大家详细介绍了Android自定义复合控件实现通用标题栏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

ExpandableListView实现简单二级列表

这篇文章主要为大家详细介绍了ExpandableListView实现简单二级列表,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享
查看更多