MDRadioButton.java 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. package com.afollestad.materialdialogs.internal;
  2. import android.annotation.TargetApi;
  3. import android.content.Context;
  4. import android.content.res.ColorStateList;
  5. import android.os.Build;
  6. import android.util.AttributeSet;
  7. import android.widget.RadioButton;
  8. import com.afollestad.materialdialogs.util.DialogUtils;
  9. /**
  10. * @author Aidan Follestad (afollestad)
  11. */
  12. public class MDRadioButton extends RadioButton {
  13. public MDRadioButton(Context context) {
  14. super(context);
  15. }
  16. public MDRadioButton(Context context, AttributeSet attrs) {
  17. super(context, attrs);
  18. }
  19. public MDRadioButton(Context context, AttributeSet attrs, int defStyleAttr) {
  20. super(context, attrs, defStyleAttr);
  21. }
  22. @TargetApi(Build.VERSION_CODES.LOLLIPOP)
  23. public MDRadioButton(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
  24. super(context, attrs, defStyleAttr, defStyleRes);
  25. }
  26. public void setColorFilter(int color) {
  27. if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1) {
  28. ColorStateList sl = new ColorStateList(new int[][]{
  29. new int[]{-android.R.attr.state_checked},
  30. new int[]{android.R.attr.state_checked}
  31. }, new int[]{
  32. DialogUtils.resolveColor(getContext(), android.R.attr.textColorSecondary),
  33. color
  34. });
  35. setButtonTintList(sl);
  36. }
  37. }
  38. }