1.首先在build.gradle 中添加 implementation 'com.google.android.material:material:1.2.0'

2.在 gradle.properties 文件添加

android.useAndroidX=true

完成上述两步后开始写代码

1.在activi_main.xml布局文件中添加

 <com.google.android.material.bottomnavigation.BottomNavigationView
        android:id="@+id/navi"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        app:itemBackground="@color/purple1"
        app:itemIconTint="@drawable/selector"
        app:itemTextColor="@drawable/selector"
        app:menu="@menu/main" />

其中 @drawable/selector 文件代码如下

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
    android:state_selected="false"
    android:color="@android:color/black"/>
    <item
        android:state_selected="true"
        android:color="@android:color/white"/>
</selector>

其中@meau/main代码如下

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    tools:context="com.example.exerdemolinechart.MainActivity" >

    <item
        android:id="@+id/Home"
        android:icon="@drawable/home"
        android:title="Home"/>
    <item
        android:id="@+id/Dashboard"
        android:icon="@drawable/dashboard"
        android:title="Dashboard"/>
    <item
        android:id="@+id/About"
        android:icon="@drawable/about"
        android:title="About"/>

</menu>

tips: @drable/home 文件由图所示步骤自动生成 (about dashboard同理)

 

2.新建java类about.java (和dashboard.java)

3.在about.xml(和dashboard.xml)中

添加相同代码

 <com.google.android.material.bottomnavigation.BottomNavigationView
        android:id="@+id/navi"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        app:itemBackground="@color/purple1"
        app:itemIconTint="@drawable/selector"
        app:itemTextColor="@drawable/selector"
        app:menu="@menu/main" />

 4.在mainactivity.java中添加如下代码

 BottomNavigationView bottomNavigationView = findViewById(R.id.navi);
        bottomNavigationView.setSelectedItemId(R.id.Home);
        bottomNavigationView.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
            @Override
            public boolean onNavigationItemSelected(@NonNull MenuItem item) {
                switch (item.getItemId()) {
                    case R.id.About:
                        startActivity(new Intent(getApplicationContext(), about.class));
                        overridePendingTransition(0, 0);
                        return true;
                    case R.id.Dashboard:
                        startActivity(new Intent(getApplicationContext(), dashboard.class));
                        overridePendingTransition(0, 0);
                        return true;
                    case R.id.Home:
                        return true;
                }
                return false;
            }
        });
    }

5.在about.java中添加如下代码  (同理在dashboard.java中添加)

        BottomNavigationView bottomNavigationView = findViewById(R.id.navi);

        bottomNavigationView.setSelectedItemId(R.id.About);

        bottomNavigationView.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
            @Override
            public boolean onNavigationItemSelected(@NonNull MenuItem item) {
                switch (item.getItemId()) {
                    case R.id.Home:
                        startActivity(new Intent(getApplicationContext(), MainActivity.class));
                        overridePendingTransition(0, 0);
                        return true;
                    case R.id.Dashboard:
                        startActivity(new Intent(getApplicationContext(), dashboard.class));
                        overridePendingTransition(0, 0);
                        return true;
                    case R.id.About:
                        return true;
                }
                return false;
            }
        });
    }

别忘了在在AndroidManifest里注册新建的Activity!!!!

效果图:

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐