網頁

2018年12月16日 星期日

[Android Studio] BottomNavigationView 底部按鈕基本教學




載入畫面 (位置 Project→Android→res→layout):


<android.support.design.widget.BottomNavigationView
        android:id="@+id/navigation"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:background="?android:attr/windowBackground"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
app:menu="@menu/navigation" />




顯示內容 (位置 Project→Android→res→menu):
新增icon圖的方法:res按右鍵→New→Vector Asset


<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">

    <item
        android:id="@+id/navigation_home"
        android:icon="@drawable/ic_home_black_24dp" ← 圖片位置與顯示設定為xml檔
        android:title="@string/title_home" />

    <item
        android:id="@+id/navigation_coco"
        android:icon="@drawable/ic_coco_black_24dp"
        android:title="@string/title_coco" />

    <item
        android:id="@+id/navigation_select"
        android:icon="@drawable/ic_select_black_24dp"
        android:title="@string/title_select" />

    <item
        android:id="@+id/navigation_text"
        android:icon="@drawable/ic_text_black_24dp"
        android:title="@string/title_text" />

</menu>

程式語法:

 private BottomNavigationView.OnNavigationItemSelectedListener mOnNavigationItemSelectedListener
            = new BottomNavigationView.OnNavigationItemSelectedListener() {

        @Override
        public boolean onNavigationItemSelected(@NonNull MenuItem item) {
            switch (item.getItemId()) {
                case R.id.navigation_home:
                  //按了顯示的內容
                    return true;
                case R.id.navigation_coco:
                    //按了顯示的內容
                    return true;
                case R.id.navigation_select:
                  //按了顯示的內容
                    return true;
                case R.id.navigation_text:
                   //按了顯示的內容
                    return true;
            }
            return false;
        }
    };

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_index);

        BottomNavigationView navigation = (BottomNavigationView) findViewById(R.id.navigation);
        navigation.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener);
    }

沒有留言:

張貼留言

影片的問題請留在影片的留言區裡。
部落格不會另外通知給我,所以很難發現你有留言。