我已经在我的应用中添加了一个侧边栏(导航抽屉),目前看起来像这样:
http://i.imgur.com/aQOnNY4.png
然而,颜色是错误的。红色圆圈内的加号图标的可绘制图像(.png
)应为白色(如图像所示),但它是蓝色的,我不知道如何防止这种情况
由于textColorSecondary
:
styles.xml
值,它似乎是蓝色的
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:textColorPrimary">@color/dark_gray</item>
<item name="android:textColorSecondary">@color/blue</item>
</style>
以下是侧边栏的列表项目:
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group android:checkableBehavior="single">
<item android:title="Menu">
<menu>
<item
android:icon="@drawable/ic_home_black_48dp"
android:title="One"
android:checked="true"/>
<item
android:icon="@drawable/ic_favorite_black_48dp"
android:title="Two" />
<item
android:icon="@drawable/custom_icon"
android:title="Three" />
</menu>
</item>
</group>
</menu>
以下是列表中第三项使用的custom_icon
drawable:
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/circle_icon">
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid
android:color="#ff0000"
/>
<size
android:width="20dp"
android:height="20dp"
/>
</shape>
</item>
<item
android:drawable="@drawable/ic_add_white"
android:adjustViewBounds="true"
android:scaleType="fitXY"
android:top="2dp"
android:right="2dp"
android:bottom="2dp"
android:left="2dp"
/>
</layer-list>
如何防止加号图标的颜色被textColorSecondary
的值更改并保持原始的白色?
作为一个额外的问题,我如何完全设置侧边栏的样式(包括副标题文字颜色,列表项文字颜色等)?我无法在线找到任何教程。
答案 0 :(得分:0)
我已经解决了自己的问题。
只需执行以下操作:
NavigationView sidebar = (NavigationView) findViewById(R.id.sidebar);
sidebar.setItemIconTintList(null);