Android實現360手機小幫手底部的動畫菜單_Android

來源:互聯網
上載者:User

首先來看下我們實現的效果和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開發人員們有所協助,如果有疑問大家可以留言交流。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.