Android Wear - 动作抽屉图标颜色

时间:2017-06-28 23:41:27

标签: wear-os action-drawer

我正在使用带有菜单的动作抽屉。图标显示为黑色,如以下屏幕截图所示:

enter image description here

我正在尝试更改这些图标的颜色,与设计指南中的颜色非常相似:

Check guidelines: https://www.google.com/design/spec-wear/components/action-drawer.html#action-drawer-usage

但是,我找不到在哪做或者哪个样式属性允许我这样做。

2 个答案:

答案 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" />

由于无法访问适配器,因此无法更改颜色。