依赖

//BottomNavigation

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

页面

xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:app="http://schemas.android.com/apk/res-auto"

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

tools:context=".MainActivity">

android:layout_width="match_parent"

android:layout_height="match_parent">

android:id="@+id/td"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="horizontal">


android:id="@+id/bottom_bar"

android:layout_width="match_parent"

android:layout_alignParentBottom="true"

android:layout_height="50dp"/>



主页面的简单操作

public class MainActivity_Lian extends AppCompatActivity implements BottomNavigationBar.OnTabSelectedListener{

private BottomNavigationBar bottomNavigationBar;

private String TAG = MainActivity.class.getSimpleName();

private Fragment_home fragment_home;

private Fragment_dingdan fragment_dingdan;

private Fragment_wode fragment_wode;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        /**

        * 获得组件

        */

        bottomNavigationBar = findViewById(R.id.bottom_bar);

        /**

        * 导航基础设置 包括按钮选中效果 导航栏背景色等

        */

        bottomNavigationBar

                .setTabSelectedListener(this)

                /**

                *  setMode() 内的参数有三种模式类型:

*  MODE_DEFAULT 自动模式:导航栏Item的个数<=3用MODE_FIXED模式,否则用MODE_SHIFTING模式

*MODE_FIXED固定模式:未选中的Item显示文字,无切换动画效果。

*MODE_SHIFTING切换模式:未选中的Item不显示文字,选中的显示文字,有切换动画效果。

                */

.setMode(BottomNavigationBar.MODE_FIXED)

                /**

*setBackgroundStyle() 内的参数有三种样式

*BACKGROUND_STYLE_DEFAULT:默认样式 如果设置的Mode为MODE_FIXED,将使用BACKGROUND_STYLE_STATIC

*                                    如果Mode为MODE_SHIFTING将使用BACKGROUND_STYLE_RIPPLE。

*BACKGROUND_STYLE_STATIC:静态样式 点击无波纹效果

*BACKGROUND_STYLE_RIPPLE:波纹样式 点击有波纹效果

                */

.setBackgroundStyle(BottomNavigationBar.BACKGROUND_STYLE_STATIC);

//.setActiveColor("#FF107FFD") //选中颜色

//.setInActiveColor("#e9e6e6") //未选中颜色

//.setBarBackgroundColor("#fff");//导航栏背景色

        /**

        * 添加导航按钮

        */

bottomNavigationBar

.addItem(newBottomNavigationItem(R.drawable.home_pressed,"首页")//选中的状态的图片

.setInactiveIconResource(R.drawable.home_normal)//没有选中的状态的图标

.setActiveColorResource(R.color.colorBlack)//选中字体颜色

.setInActiveColorResource(R.color.colorGray)//未选中字体颜色

                );

bottomNavigationBar.addItem(newBottomNavigationItem(R.drawable.my_pressed,"订单")

.setInactiveIconResource(R.drawable.my_normal)//没有选中的状态的图标

.setActiveColorResource(R.color.colorBlack)//选中字体颜色

.setInActiveColorResource(R.color.colorGray)//未选中字体颜色

        );

bottomNavigationBar.addItem(newBottomNavigationItem(R.drawable.home_active,"我的")

.setInactiveIconResource(R.drawable.homea)//没有选中的状态的图标

.setActiveColorResource(R.color.colorBlack)//选中字体颜色

.setInActiveColorResource(R.color.colorGray)//未选中字体颜色

        );

        //默认选中

bottomNavigationBar.setFirstSelectedPosition(0);

bottomNavigationBar.initialise();

bottomNavigationBar.setTabSelectedListener(this);

setDefaultFragment();

    }

    /**

    * 设置默认导航栏

    */

privatevoidsetDefaultFragment() {

fragment_home=Fragment_home.newInstance("首页");

getSupportFragmentManager().beginTransaction().replace(R.id.td,fragment_home).commit();

    }

@Override

publicvoidonTabSelected(intposition) {

switch(position){

case0:

if(fragment_home==null){

fragment_home=Fragment_home.newInstance("首页");

                }

getSupportFragmentManager().beginTransaction().replace(R.id.td,fragment_home).commit();

break;

case1:

if(fragment_dingdan==null){

fragment_dingdan=Fragment_dingdan.newInstance("订单");

                }

getSupportFragmentManager().beginTransaction().replace(R.id.td,fragment_dingdan).commit();

break;

case2:

if(fragment_wode==null){

fragment_wode=Fragment_wode.newInstance("我的");

                }

getSupportFragmentManager().beginTransaction().replace(R.id.td,fragment_wode).commit();

break;

default:

break;

        }

    }

    /**

* 设置未选中Fragment事务

    */

@Override

publicvoidonTabUnselected(intposition) {

    }

    /**

* 设置释放Fragment事务

    */

@Override

publicvoidonTabReselected(intposition) {

    }

更多相关文章

  1. Android 自定义设置文本字体间间距
  2. Android 开发中常用到的设计模式
  3. 《Android》Lesson09-Acitivity的四种启动模式
  4. 【EditText】Android 中设置 EditText 光标颜色
  5. android五种布局模式
  6. android recovery 模式启动进入流程
  7. MVVM模式开源学习项目——玩Android客户端
  8. [camera drv]工厂模式下测试camera fail
  9. android 修改actionbar title文字颜色等属性

随机推荐

  1. Android(安卓)Studio控件技巧汇总
  2. [Android]Activity的创建
  3. Android(安卓)根据账号和密码自动连接 WI
  4. [Mobile Web]Web中如何分辨移动设备?(iPad
  5. AutoCompleteTextView的基本使用
  6. android bindingAdapter progressbar men
  7. Android(安卓)交叉编译
  8. Android(安卓)五种常用dialog的使用
  9. Android中自定义属性基本步骤
  10. Android(安卓)Studio Arctic Fox | 2020.