【发布时间】:2019-03-11 21:26:59
【问题描述】:
我只是想知道当您在所选片段上时标签会改变颜色 例如: 就像 facebook 应用程序标签一样,当您在主页上时,图标颜色会变为蓝色。 这是使用的工具或库,还是我必须在片段更改时显式更改所有颜色?
【问题讨论】:
标签: android android-fragments android-tabs
我只是想知道当您在所选片段上时标签会改变颜色 例如: 就像 facebook 应用程序标签一样,当您在主页上时,图标颜色会变为蓝色。 这是使用的工具或库,还是我必须在片段更改时显式更改所有颜色?
【问题讨论】:
标签: android android-fragments android-tabs
试用 android 的底部导航视图 (https://developer.android.com/reference/android/support/design/widget/BottomNavigationView) 并使用像
这样的颜色选择器background_color.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true" android:color="@color/blue" />
<item android:color="@color/grey" />
</selector>
并将其用作
app:itemIconTint="@color/background_color.xml"
在您的底部导航视图中。
【讨论】:
很难确切地说任何给定的应用程序是如何做到这一点的,但很有可能他们正在使用Color State List 资源或State List Drawable 资源。这样的资源允许您在单个文件中为不同的“状态”定义不同的值。然后您可以将此资源应用于您的选项卡(或复选框或其他任何内容),它会自动相应地更新。
【讨论】: