i++

プログラム系のメモ書きなど

Android : Drawable に primary や accent の色をつける(Tint)

Toolbar (ActionBar) の NavigationIcon にプライマリやアクセントのカラーをつけるために使用しました。

オリジナルの白いアイコン画像(Material design icons等から入手)を src に、tint に primary や accent の color を指定した xml リソースを作成し、そちらを参照します。

例:ic_check_white_36db_primary.xml
<?xml version="1.0" encoding="utf-8"?>
<bitmap
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:src="@drawable/ic_check_white_36dp"
    android:tint="@color/app_primary"/>

または、コードで Drawable#setColorFilter(color, mode) を使っても色を変えられます

Toolbar toolbar = (Toolbar) view.findViewById(R.id.toolbar);
Drawable navIcon = toolbar.getNavigationIcon();
navIcon.setColorFilter(getActivity().getResources().getColor(R.color.app_primary), PorterDuff.Mode.MULTIPLY);
toolbar.setNavigationIcon(navIcon);