코딩(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 를 만들 수 있습니다.
도움이 되셨다면, 하트버튼 눌러 주시면 감사하겠습니다.
감사합니다.