答案 0 :(得分:1)
如果您使用的是CircledImageView,则可以使用setImageTint(int tint)
直接在视图上设置图标的色调。
如果您使用的是传统的ImageView,则需要从图标资源创建一个Drawable并将色调应用于它,然后将其设置为视图:
Drawable iconDrawable = mContext.getResources().getDrawable(R.drawable.icon, mContext.getTheme());
iconDrawable.setTint(mContext.getColor(R.color.bg_color, mContext.getTheme()));
iconView.setImageDrawable(iconDrawable);
编辑:要访问菜单中的图标,您可以在创建时执行以下操作:
for(int i = 0; i < menu.size(); i++) {
Drawable iconDrawable = menu.getItem(i).getIcon();
iconDrawable.setTint(mContext.getColor(R.color.bg_color, mContext.getTheme()));
}
答案 1 :(得分:0)
他们改变了Action Drawer项目的布局,但未提供更改颜色/禁用它的选项。
<强> V23 / action_drawer_item_view.xml 强>
<ImageView
android:id="@+id/wearable_support_action_drawer_item_icon"
android:layout_width="@dimen/action_drawer_item_icon_size"
android:layout_height="@dimen/action_drawer_item_icon_size"
android:layout_gravity="center_vertical"
android:background="@drawable/action_item_icon_background"
**android:tint="?android:attr/colorBackground"**
android:padding="@dimen/action_drawer_item_icon_padding"
android:scaleType="fitCenter"
tools:ignore="ContentDescription" />
由于无法访问适配器,因此无法更改颜色。