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);