BottomNavigationView Text Resize Animation Issue 基于所使用的主题
BottomNavigationView Text Resize Animation Issue based on theme used
我正在使用 BottomNavigationView 但发现了一个奇怪的问题。
与主题 "Theme.AppCompat.Light.DarkActionBar"
一起使用时,文本和图标调整大小动画在单击每个项目时都能正常工作。
但与主题 "Theme.MaterialComponents.Light.DarkActionBar"
一起使用时,
它不工作,没有调整大小动画发生。
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/bottomNav"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:background="#212121"
app:itemIconTint="@color/nav_item_color_state"
app:itemTextColor="@color/nav_item_color_state"
app:menu="@menu/bottom_menu_main"/>
nav_item_color_state.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/action_nav_feed"
android:icon="@android:drawable/ic_input_add"
android:checked="true"
android:title="List"/>
<item
android:id="@+id/action_nav_info"
android:icon="@android:drawable/ic_notification_overlay"
android:title="Info"/>
<item
android:id="@+id/action_nav_profile"
android:icon="@android:drawable/ic_delete"
android:title="Profile"/>
</menu>
style.xml
<style name="AppTheme" parent="Theme.MaterialComponents.Light.DarkActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
<!-- Theme.AppCompat.Light.DarkActionBar -->
尝试使用属性 app:itemTextAppearanceActive
和 app:itemTextAppearanceInactive
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/bottomNav"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:background="#212121"
app:itemIconTint="@color/nav_item_color_state"
app:itemTextAppearanceActive="@style/BottomNavigationView.Active"
app:itemTextAppearanceInactive="@style/BottomNavigationView"
app:itemTextColor="@color/nav_item_color_state"
app:menu="@menu/bottom_menu_main"/>
在styles.xml
<style name="BottomNavigationView"
parent="@style/TextAppearance.AppCompat.Caption">
<item name="android:textSize">10sp</item>
</style>
<style name="BottomNavigationView.Active"
parent="@style/TextAppearance.AppCompat.Caption">
<item name="android:textSize">15sp</item>
</style>
无需为此视图设置主题,这些样式即可。
我正在使用 BottomNavigationView 但发现了一个奇怪的问题。
与主题 "Theme.AppCompat.Light.DarkActionBar"
一起使用时,文本和图标调整大小动画在单击每个项目时都能正常工作。
但与主题 "Theme.MaterialComponents.Light.DarkActionBar"
一起使用时,
它不工作,没有调整大小动画发生。
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/bottomNav"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:background="#212121"
app:itemIconTint="@color/nav_item_color_state"
app:itemTextColor="@color/nav_item_color_state"
app:menu="@menu/bottom_menu_main"/>
nav_item_color_state.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/action_nav_feed"
android:icon="@android:drawable/ic_input_add"
android:checked="true"
android:title="List"/>
<item
android:id="@+id/action_nav_info"
android:icon="@android:drawable/ic_notification_overlay"
android:title="Info"/>
<item
android:id="@+id/action_nav_profile"
android:icon="@android:drawable/ic_delete"
android:title="Profile"/>
</menu>
style.xml
<style name="AppTheme" parent="Theme.MaterialComponents.Light.DarkActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
<!-- Theme.AppCompat.Light.DarkActionBar -->
尝试使用属性 app:itemTextAppearanceActive
和 app:itemTextAppearanceInactive
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/bottomNav"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:background="#212121"
app:itemIconTint="@color/nav_item_color_state"
app:itemTextAppearanceActive="@style/BottomNavigationView.Active"
app:itemTextAppearanceInactive="@style/BottomNavigationView"
app:itemTextColor="@color/nav_item_color_state"
app:menu="@menu/bottom_menu_main"/>
在styles.xml
<style name="BottomNavigationView"
parent="@style/TextAppearance.AppCompat.Caption">
<item name="android:textSize">10sp</item>
</style>
<style name="BottomNavigationView.Active"
parent="@style/TextAppearance.AppCompat.Caption">
<item name="android:textSize">15sp</item>
</style>
无需为此视图设置主题,这些样式即可。