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

所属分类: 软件编程 / Android 阅读数: 55
收藏 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开发者们有所帮助,如果有疑问大家可以留言交流。

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

Android网络编程之获取网络上的Json数据实例

这篇文章主要介绍了Android网络编程之获取网络上的Json数据实例,本文用完整的代码实例讲解了在Android中读取网络中Json数据的方法,需要的朋友可以参考下
收藏 0 赞 0 分享

Android中的windowSoftInputMode属性详解

这篇文章主要介绍了Android中的windowSoftInputMode属性详解,本文对windowSoftInputMode的9个属性做了详细总结,需要的朋友可以参考下
收藏 0 赞 0 分享

Android网络编程之UDP通信模型实例

这篇文章主要介绍了Android网络编程之UDP通信模型实例,本文给出了服务端代码和客户端代码,需要的朋友可以参考下
收藏 0 赞 0 分享

Android中使用ListView实现漂亮的表格效果

这篇文章主要介绍了Android中使用ListView实现漂亮的表格效果,本文用详细的代码实例创建了一个股票行情表格,需要的朋友可以参考下
收藏 0 赞 0 分享

Android中刷新界面的二种方法

这篇文章主要介绍了Android中刷新界面的二种方法,本文使用Handler、postInvalidate两种方法实现界面刷新,需要的朋友可以参考下
收藏 0 赞 0 分享

Android SDK三种更新失败及其解决方法

这篇文章主要介绍了Android SDK三种更新失败及其解决方法,需要的朋友可以参考下
收藏 0 赞 0 分享

Android学习笔记——Menu介绍(一)

Android3.0(API level 11)开始,Android设备不再需要专门的菜单键。随着这种变化,Android app应该取消对传统6项菜单的依赖。取而代之的是提供anction bar来提供基本的用户功能
收藏 0 赞 0 分享

Android学习笔记——Menu介绍(二)

这次将继续上一篇文章没有讲完的Menu的学习,上下文菜单(Context menu)和弹出菜单(Popup menu)
收藏 0 赞 0 分享

Android学习笔记——Menu介绍(三)

今天继续昨天没有讲完的Menu的学习,主要是Popup Menu的学习,需要的朋友可以参考下
收藏 0 赞 0 分享

Android显示网络图片实例

这篇文章主要介绍了Android显示网络图片的方法,以实例形式展示了Android程序显示网络图片的方法,非常具有实用价值,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多