Gomdori

[Android] 안드로이드 스튜디오 BottomNavigationView 사용하기 본문

코딩(Coding)

[Android] 안드로이드 스튜디오 BottomNavigationView 사용하기

Ghomdori 2020. 6. 24. 13:36

안녕하세요.

안드로이드 BottomNavigationView 사용법에 대한 포스팅입니다.

보통 Fragment 변경 시 많이 사용하는 네비게이션바입니다.

 

1.Gradle 부분에 Implementation 은 아무것도 안해주셔도 됩니다.

2. Activity

public class MainActivity extends AppCompatActivity{
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView( R.layout.activity_main);
        
        BottomNavigationView bottomNavigationView = findViewById(R.id.navigationView);
        bottomNavigationView.setOnNavigationItemSelectedListener(new ItemSelectedListener());

    }
    class ItemSelectedListener implements BottomNavigationView.OnNavigationItemSelectedListener{
        @Override
        public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) {
            switch(menuItem.getItemId())
            {
                case R.id.a:
                    //Item의 Id값에 해당하는 것을 누를 시
                    break;
                case R.id.b:
                    //Item의 Id값에 해당하는 것을 누를 시
                    break;
                case R.id.c:
                    //Item의 Id값에 해당하는 것을 누를 시
                    break;
                case R.id.d:
                    //Item의 Id값에 해당하는 것을 누를 시
                    break;
                case R.id.e:
                    //Item의 Id값에 해당하는 것을 누를 시
            }
            return true;
        }
    }

 

3. Layout

 

<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout android:layout_height="match_parent"
    android:layout_width="match_parent"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:weightSum="10">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="9.3"
            android:orientation="vertical"
            tools:ignore="Suspicious0dp">
            <FrameLayout
                android:id="@+id/main_Frag"
                android:layout_width="match_parent"
                android:layout_height="match_parent">
            </FrameLayout>
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="0.7"
            android:layout_gravity="bottom"
            android:orientation="horizontal"
            tools:ignore="Suspicious0dp">
            <com.google.android.material.bottomnavigation.BottomNavigationView
                android:id="@+id/navigationView"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintLeft_toLeftOf="parent"
                app:layout_constraintRight_toLeftOf="parent"
                app:menu="@menu/menu_bottomnavigationview"/>

        </LinearLayout>


    </LinearLayout>

</LinearLayout>

4. Menu XML 생성( res/menu/menu_bottomnavigationview)

menu_bottomnavigationview.xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <item
        android:id="@+id/a"
        app:showAsAction="always"
        android:icon="@drawable/~~~~"
        android:title="제목" />
    <item
        android:id="@+id/b"
        app:showAsAction="always"
        android:icon="@drawable/~~~~"
        android:title="제목" />
    <item
        android:id="@+id/c"
        app:showAsAction="always"
        android:icon="@drawable/~~~~"
        android:title="제목" />
    <item
        android:id="@+id/d"
        app:showAsAction="always"
        android:icon="@drawable/~~~~"
        android:title="제목" />
    <item
        android:id="@+id/e"
        app:showAsAction="always"
        android:icon="@drawable/~~~~"
        android:title="제목" />
</menu>

이렇게 5분도 안걸리고 할 수 있습니다.

정말 쉽죠??

누구나 쉽게 BottomNavigationView 를 만들 수 있습니다.

도움이 되셨다면, 하트버튼 눌러 주시면 감사하겠습니다.

감사합니다.

Comments