Apply correct tint to dismiss button icon

This commit is contained in:
Phillip Hsu 2016-09-05 03:39:58 -07:00
parent c7fd4ac93f
commit d15f3f85a4
2 changed files with 9 additions and 3 deletions

View File

@ -21,6 +21,7 @@ import com.philliphsu.clock2.Alarm;
import com.philliphsu.clock2.BaseViewHolder;
import com.philliphsu.clock2.OnListItemInteractionListener;
import com.philliphsu.clock2.R;
import com.philliphsu.clock2.aospdatetimepicker.Utils;
import com.philliphsu.clock2.editalarm.BaseTimePickerDialog;
import com.philliphsu.clock2.editalarm.BaseTimePickerDialog.OnTimeSetListener;
import com.philliphsu.clock2.editalarm.TimePickerHelper;
@ -263,9 +264,9 @@ public abstract class BaseAlarmViewHolder extends BaseViewHolder<Alarm> {
setVisibility(mDismissButton, visible);
mDismissButton.setText(buttonText);
// Set drawable start
mDismissButton.setCompoundDrawablesRelativeWithIntrinsicBounds(
upcoming ? mDismissNowDrawable : mCancelSnoozeDrawable,
null, null, null);
Drawable icon = upcoming ? mDismissNowDrawable : mCancelSnoozeDrawable;
Utils.setTint(icon, mDismissButton.getCurrentTextColor());
mDismissButton.setCompoundDrawablesRelativeWithIntrinsicBounds(icon, null, null, null);
}
private void bindLabel(String label) {

View File

@ -223,6 +223,11 @@ public class Utils {
target.setImageDrawable(drawable);
}
public static void setTint(Drawable drawable, @ColorInt int color) {
drawable = DrawableCompat.wrap(drawable.mutate());
DrawableCompat.setTint(drawable, color);
}
/**
* Returns a tinted drawable from the given drawable resource, if {@code tintList != null}.
* Otherwise, no tint will be applied.