【问题标题】:Proper theme attribute for AppBar iconsAppBar 图标的正确主题属性
【发布时间】:2020-04-12 17:06:09
【问题描述】:

我的AppBar 中有矢量图标。我如何确保它们根据主题获得正确的颜色?

我的应用程序使用 Theme.MaterialComponents.DayNight.NoActionBar 和自定义 colorPrimarycolorSecondary

图标应该是这样的:

<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:tint="?attr/colorOnSurface">
    <path android:fillColor="#FFFFFF" android:pathData="..." />
</vector>

还是应该使用colorControlNormal

<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:tint="?attr/colorControlNormal">
    <path android:fillColor="#FFFFFF" android:pathData="..." />
</vector>

还是colorOnPrimarySurface? (这个让它总是白色的)

<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:tint="?attr/colorOnPrimarySurface">
    <path android:fillColor="#FFFFFF" android:pathData="..." />
</vector>

或者颜色应该在path中?

<vector xmlns:android="http://schemas.android.com/apk/res/android" >
    <path android:fillColor="?attr/colorControlNormal (colorOnSurface)" android:pathData="..." />
</vector>

还是不应该在这里设置颜色,而是直接在布局中设置?

<vector xmlns:android="http://schemas.android.com/apk/res/android">
    <path android:fillColor="#FFFFFF" android:pathData="..." />
</vector>

<com.google.android.material.appbar.AppBarLayout
        android:foregroundTint="?attr/colorControlNormal" (colorOnSurface)
        android:theme="@style/ThemeOverlay.MaterialComponents.ActionBar"
        app:popupTheme="@style/ThemeOverlay.MaterialComponents.Light">

        <androidx.appcompat.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize" />

</com.google.android.material.appbar.AppBarLayout>

【问题讨论】:

  • 你可以看看这个answer 的黑暗主题
  • 那没有回答我的问题

标签: android material-design android-theme android-appbarlayout android-dark-theme


【解决方案1】:

好的,我想我找到了答案

应该是colorControlNormal

在菜单/导航图标中:

<vector
    ...
    android:tint="?attr/colorControlNormal">
    ...
</vector>

来源:https://material.io/develop/android/components/top-app-bars/#regular-top-app-bar

【讨论】:

    猜你喜欢
    • 2023-01-08
    • 2021-10-03
    • 1970-01-01
    • 2021-11-19
    • 2014-02-28
    • 2021-12-06
    • 1970-01-01
    • 1970-01-01
    • 2019-04-29
    相关资源
    最近更新 更多