我下载了一个导航抽屉样本,图标最初是黑色的。当它们被加载到菜单中时,它们变得粉红色,我无法在代码中的任何地方找到它变为粉红色的地方。
加载菜单:文字正确,但图标...
导航抽屉代码:
<android.support.design.widget.NavigationView
android:id="@+id/nav_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:fitsSystemWindows="true"
app:headerLayout="@layout/nav_header_main2"
app:menu="@menu/activity_main2_drawer"
android:theme="@style/MyNavigationDrawer"/>
</android.support.v4.widget.DrawerLayout>
activity_main2_drawer代码:
导航抽屉主题:
<style name="MyNavigationDrawer" parent="AppTheme">
<item name="colorPrimary">@color/colorAccent</item>
<item name="android:icon">@color/colorAccent2</item>
<item name="android:textColorPrimary">@color/colorAccent2</item>
</style>
Apptheme:
答案 0 :(得分:0)
检查没有这样的代码。
navigationView.setItemTextColor(ColorStateList1);
navigationView.setItemIconTintList(ColorStateList2);
可以使用此更改图标颜色。
int[][] states = new int[][] {
new int[] {-android.R.attr.state_enabled}, // disabled
new int[] {android.R.attr.state_enabled}, // enabled
new int[] {-android.R.attr.state_checked}, // unchecked
new int[] { android.R.attr.state_pressed} // pressed
};
int[] colors = new int[] {
Color.WHITE,
Color.BLUE,
Color.WHITE,
Color.WHITE
};
ColorStateList ColorStateList2 = new ColorStateList(states, colors);
根据您的要求,您不应该这样做。
答案 1 :(得分:0)
使用app:itemIconTint =&#34;你渴望的颜色&#34;在
<android.support.design.widget.NavigationView
android:id="@+id/nav_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
app:itemIconTint="your desire color"
android:fitsSystemWindows="true"
app:headerLayout="@layout/nav_header_main2"
app:menu="@menu/activity_main2_drawer"
android:theme="@style/MyNavigationDrawer"/>
避免使用 @色/ colorAccent2 @色/ colorAccent2 风格。