λ΄κ° 컀μ€ν ν΄μΌ λλ κ²
- μνμ κ΄κ³ μμ΄
- μμ΄μ½ vector
- GNB background color
- κ° κ°κ²© μ€μ
- active, deactive μνμ
- μμ΄μ½ μμ
- ν μ€νΈ μμ
- μ λλ©μ΄μ μ κ±°
μμ΄μ½ λ²‘ν° μ»€μ€ν
→ κ·Έλ₯ menu κ΄λ ¨ xml fileμμ μ€μ ν΄μ£Όλ©΄ λ¨.
GNB Background Color?
// <com.google.android.material.bottomnavigation.BottomNavigationView/> μμ λ£μ΄μ£Όμ΄μΌ ν¨.
android:background="@color/Gray_1"
app:itemBackground="@color/Gray_1"
λ λ€ μ€μ ν΄μ£Όμ΄μΌ λ¨. μμ΄ν λ§ μ€μ νλ©΄ λΉ κ³΅κ°μ΄ μλ κ²½μ° μμΉ μλ μμμ΄ λ³΄μ΄κ² λ¨.
μμ΄μ½ & text μμ 컀μ€ν ?
// <com.google.android.material.bottomnavigation.BottomNavigationView/> μμ λ£μ΄μ£Όμ΄μΌ ν¨.
app:itemIconTint="@color/selector_menu_home_color"
app:itemTextColor*="@color/selector_menu_home_color"
//color/selector_menu_home_color νμΌ
<?xml version="1.0"encoding="utf-8"?>
<selectorxmlns:android="http://schemas.android.com/apk/res/android">
<itemandroid:color="@color/Gray_15"android:state_checked="true" />
<itemandroid:color="@color/Gray_9"android:state_checked="false" />
</selector>
μ λλ©μ΄μ μ κ±°?
// <com.google.android.material.bottomnavigation.BottomNavigationView/> μμ λ£μ΄μ£Όμ΄μΌ ν¨.
app:itemHorizontalTranslationEnabled="false"
μ΄κ±° μΈμλ μλμ κ° κ°κ²© μ€μ νμ΄νμμ dimensμ μΆκ°λ‘ μ€μ ν΄μΌ λλ κ²λ€μ΄ μμ. μλμ κΈ°λ‘ν¨.
κ° κ°κ²© μ€μ
<dimen name="design_bottom_navigation_active_item_max_width">168dp</dimen>
<dimen name="design_bottom_navigation_active_item_min_width">96dp</dimen>
<dimen name="design_bottom_navigation_active_text_size">14sp</dimen>
<dimen name="design_bottom_navigation_elevation">8dp</dimen>
<dimen name="design_bottom_navigation_height">56dp</dimen>
<dimen name="design_bottom_navigation_icon_size">24dp</dimen>
<dimen name="design_bottom_navigation_item_max_width">96dp</dimen>
<dimen name="design_bottom_navigation_item_min_width">56dp</dimen>
<dimen name="design_bottom_navigation_label_padding">10dp</dimen>
<dimen name="design_bottom_navigation_margin">8dp</dimen>
<dimen name="design_bottom_navigation_shadow_height">1dp</dimen>
<dimen name="design_bottom_navigation_text_size">12sp</dimen>
μ΄κ² bottom navigation κ΄λ ¨ν values.xmlμ μ€μ λ κ°λ€μ. (μλλ‘μ΄λ λ΄μ₯) κ·Όλ° κ²μν΄λ³΄λκΉ m3λ λ λ§μ 컀μ€ν κ°μ΄ μλ λ―ν¨. (m3 κ΄λ ¨ 컀μ€ν κ° : https://github.com/material-components/material-components-android/blob/master/lib/java/com/google/android/material/bottomnavigation/res/values/dimens.xml)
μ¬νΌ λλ m3λ₯Ό μ¬μ©νμ§ μκΈ° λλ¬Έμ λ΄κ° μνλ κ°κ²© κ°λ ¨ν΄ overrideν κ²λ§ λμ΄νλ©΄ λ€μκ³Ό κ°μ.
// dimens.xml
<!-- bottom navigation custom -->
<dimen name="design_bottom_navigation_text_size" tools:override="true">10dp</dimen>
<dimen name="design_bottom_navigation_active_text_size" tools:override="true">10dp</dimen>
<dimen name="design_bottom_navigation_height" tools:override="true">50dp</dimen>
<dimen name="design_bottom_navigation_margin" tools:override="true">5dp</dimen>
- design_bottom_navigation_text_size : μ ννμ§ μμμ λμ ν μ€νΈ ν¬κΈ°
- design_bottom_navigation_active_text_size : μ ννμ λμ ν μ€νΈ ν¬κΈ°
μμ λ κ°μ΄ κ°μΌλ©΄ ν μ€νΈκ° 컀μ§λ μ λλ©μ΄μ μ΄ μ¬λΌμ§κ² λ¨.
- design_bottom_navigation_height : GNB μ체μ height μ€μ
- design_bottom_navigation_margin : GNBμ μμ΄μ½ + ν μ€νΈλ₯Ό μμ΄ν νλλ‘ λ³΄κ³ , μ΄ μμ΄ν μ λ§μ§ κ°μ μ€μ ν΄μ£Όλ λΆλΆμ. μ€μν 건 ν μ€νΈλ ν¬ν¨μ΄λ μ …
'CS > Android, Kotlin' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Android] Hilt (0) | 2023.05.09 |
---|---|
[Android] Base Activity, Fragment (0) | 2023.04.16 |
[Android] OKHttp3λ₯Ό μ¬μ©ν ν€λ μΆκ°, Retrofit2λ₯Ό μ¬μ©ν http ν΅μ (0) | 2023.04.16 |
[Android] Custom View (0) | 2023.04.15 |
[Android] Data Binding (0) | 2023.04.15 |