通过主题或样式更改图标导航色或颜色[重复]

问题描述 投票:1回答:2

此问题已经在这里有了答案:

我可以通过代码中的工具栏中的tint设置导航图标:

  Toolbar toolbar = findViewById(R.id.biometry_agreement_toolbar);
  Drawable drawable = AppCompatResources.getDrawable(requireContext(), R.drawable.ic_24_close);
  drawable.setColorFilter(ColorGenerator.buildColorFilterByAttr(toolbar.getContext(), R.attr.colorMaskColored));
  toolbar.setNavigationIcon(drawable);

或者我可以在xml中设置这样的图标,但是在这种情况下,由于没有属性navigationIconTint:],我无法设置tint

<androidx.appcompat.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:navigationIcon="@drawable/ic_24_close"
            app:titleTextColor="@color/color_primary"
            tools:title="@string/title"/>

是否有可能在没有Java代码的情况下以某种方式设置导航图标的色调?或在工具栏中设置自定义图标会清除所有色调和颜色?

我不喜欢从Java设置图标,因为没有很好的代码重用来初始化工具栏。

我尝试了不同的自定义样式,覆盖了colorControlNormal,但没有运气。

提前感谢

我可以通过以下代码在工具栏中设置带有色调的导航图标:工具栏工具栏= findViewById(R.id.biometry_agreement_toolbar); Drawable drawable = AppCompatResources.getDrawable(requireContext(),...

android android-toolbar styling android-theme
2个回答
0
投票

0
投票

对于AndroidX,您应该使用<com.google.android.material.appbar.MaterialToolbar代替<androidx.appcompat.widget.Toolbar

© www.soinside.com 2019 - 2024. All rights reserved.