BottomNavigationBar使用

引入依赖:

compile 'com.ashokvarma.android:bottom-navigation-bar:2.0.4'

xml布局中使用:




    

    


    

    

java代码:

package com.picc.mcp.lifemobile.material;

import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;

import com.ashokvarma.bottomnavigation.BottomNavigationBar;
import com.ashokvarma.bottomnavigation.BottomNavigationItem;
import com.ashokvarma.bottomnavigation.TextBadgeItem;
import com.picc.mcp.lifemobile.R;
import com.picc.mcp.lifemobile.fragment.FindFragment;
import com.picc.mcp.lifemobile.fragment.HomePageFragment;
import com.picc.mcp.lifemobile.fragment.MeFragment;
import com.picc.mcp.lifemobile.fragment.ProductFragment;

import butterknife.BindView;
import butterknife.ButterKnife;

;

/**
 * Created by fengxing on 2018/5/25.
 * https://github.com/Ashok-Varma/BottomNavigation 项目中使用
 * 

* Material风格底部导航栏 * https://github.com/aurelhubert/ahbottomnavigation也很好用的 */ public class MaterialBottomNavigationBarActivity extends AppCompatActivity { private static final String TAG = MaterialBottomNavigationBarActivity.class.getSimpleName(); private int[] mDrawables = {R.drawable.home_page_black, R.drawable.icons8_compass_96, R.drawable.icons8_product_96, R.drawable.icons8_user_96}; private int[] mDrawableStrs = {R.string.home_page, R.string.find, R.string.product, R.string.me}; int[] modes = {BottomNavigationBar.MODE_DEFAULT, BottomNavigationBar.MODE_FIXED, BottomNavigationBar.MODE_FIXED_NO_TITLE, BottomNavigationBar.MODE_SHIFTING, BottomNavigationBar.MODE_SHIFTING_NO_TITLE}; int[] backgrounds = {BottomNavigationBar.BACKGROUND_STYLE_DEFAULT, BottomNavigationBar.BACKGROUND_STYLE_RIPPLE, BottomNavigationBar.BACKGROUND_STYLE_STATIC}; private int mode_position = 0; @BindView(R.id.bottom_navigation_bar) BottomNavigationBar bottomNavigationBar; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.material_bottom_navigation_bar); ButterKnife.bind(this); bottomNavigationBar.setMode(BottomNavigationBar.MODE_FIXED); bottomNavigationBar.setBackgroundStyle(BottomNavigationBar.BACKGROUND_STYLE_RIPPLE); TextBadgeItem textBadgeItem = new TextBadgeItem(); textBadgeItem.setText("99"); bottomNavigationBar. addItem(new BottomNavigationItem(mDrawables[0], mDrawableStrs[0]).setActiveColorResource(R.color.chocolate).setBadgeItem(textBadgeItem)) .addItem(new BottomNavigationItem(mDrawables[1], mDrawableStrs[1]).setActiveColorResource(R.color.indigo)) .addItem(new BottomNavigationItem(mDrawables[2], mDrawableStrs[2]).setActiveColorResource(R.color.darkmagenta)) .addItem(new BottomNavigationItem(mDrawables[3], mDrawableStrs[3]).setActiveColorResource(R.color.palegreen)) .setFirstSelectedPosition(0) .initialise(); setDefaultFragment(); bottomNavigationBar.setTabSelectedListener(new BottomNavigationBar.OnTabSelectedListener() { @Override public void onTabSelected(int position) { Log.d(TAG, "onTabSelected: " + position); FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); switch (position) { case 0: HomePageFragment homePageFragment = HomePageFragment.newInstance(); transaction.replace(R.id.frame_container, homePageFragment); break; case 1: FindFragment findFragment = FindFragment.newInstance(); transaction.replace(R.id.frame_container, findFragment); break; case 2: ProductFragment productFragment = ProductFragment.newInstance(); transaction.replace(R.id.frame_container, productFragment); break; case 3: MeFragment meFragment = MeFragment.newInstance(); transaction.replace(R.id.frame_container, meFragment); break; } transaction.commit(); } @Override public void onTabUnselected(int position) { Log.d(TAG, "onTabUnselected: " + position); } @Override public void onTabReselected(int position) { Log.d(TAG, "onTabReselected: " + position); } }); } private void setDefaultFragment() { getSupportFragmentManager() .beginTransaction() .replace(R.id.frame_container, HomePageFragment.newInstance()) .commit(); } }

简单粗暴明了,不需要仔细说明。
最后贴上Gif:


bottom_default.gif
fixed+static.gif
666.gif

设置mode和background。慢慢调试吧。

你可能感兴趣的:(BottomNavigationBar使用)