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

 更新时间:2016年10月10日 11:52:48   投稿:daisy  
这篇文章给大家分享了利用Android实现360手机助手底部的动画菜单效果,文中给出了实例代码,这样对大家的学习或者理解更有帮助,有需要的朋友们下面来一起看看吧。

首先来看下我们实现的效果和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开发者们有所帮助,如果有疑问大家可以留言交流。

相关文章

  • Android路由框架ARouter的使用示例

    Android路由框架ARouter的使用示例

    组件化或者模块化开发模式,已逐渐成为热浪的形式,使用这些模式可以让我们程序更容易的扩展、更方便的维护、更快捷的同步开发与更简单的单独调试,而ARouter的出现就是让组件间、模块间是实现完全的独立。ARouter主要解决组件间、模块间的界面跳转问题。
    2021-06-06
  • Android编写简单的网络爬虫

    Android编写简单的网络爬虫

    网络爬虫是捜索引擎抓取系统的重要组成部分。爬虫的主要目的是将互联网上的网页下载到本地形成一个或联网内容的镜像备份。本文的主要内容是讲在Android中如何编写简单的网络爬虫。
    2016-07-07
  • Android开发中日期工具类DateUtil完整实例

    Android开发中日期工具类DateUtil完整实例

    这篇文章主要介绍了Android开发中日期工具类DateUtil,结合完整实例形式分析了Android针对日期与时间的计算、转换、格式化、获取等相关操作技巧,需要的朋友可以参考下
    2017-11-11
  • Android7.0 MTK设置默认桌面

    Android7.0 MTK设置默认桌面

    这篇文章主要为大家详细介绍了Android7.0 MTK设置默认桌面,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-07-07
  • Android屏幕分辨率工具类使用详解

    Android屏幕分辨率工具类使用详解

    这篇文章主要为大家详细介绍了Android屏幕分辨率工具类使用,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-09-09
  • Android自定义dialog简单实现方法

    Android自定义dialog简单实现方法

    这篇文章主要介绍了Android自定义dialog简单实现方法,实例分析了Android自定义对话框的相关设置技巧,代码备有详细的注释便于理解,需要的朋友可以参考下
    2016-01-01
  • Android实现ViewFlipper图片动画滑动

    Android实现ViewFlipper图片动画滑动

    这篇文章主要为大家详细介绍了Android实现ViewFlipper图片动画滑动,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • Android开发之关闭和打开Speaker(扬声器)的方法

    Android开发之关闭和打开Speaker(扬声器)的方法

    这篇文章主要介绍了Android开发之关闭和打开Speaker(扬声器)的方法,结合实例形式简单分析了Android扬声器的操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2016-03-03
  • 将cantk runtime嵌入到现有的APP中的方法

    将cantk runtime嵌入到现有的APP中的方法

    今天小编就为大家分享一篇关于将cantk runtime嵌入到现有的APP中的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • Android 打开相册选择单张图片实现代码

    Android 打开相册选择单张图片实现代码

    这篇文章主要介绍了Android 打开相册选择单张图片实现代码的相关资料,需要的朋友可以参考下
    2017-05-05

最新评论