package skin.support.widget;
import android.annotation.TargetApi;
import android.content.res.ColorStateList;
import android.graphics.Canvas;
import android.graphics.PorterDuff;
import android.graphics.drawable.Drawable;
import android.support.annotation.Nullable;
import android.support.annotation.RequiresApi;
import android.support.v4.graphics.drawable.DrawableCompat;
import android.support.v4.view.ViewCompat;
import android.support.v7.widget.DrawableUtils;
import android.support.v7.widget.TintTypedArray;
import android.util.AttributeSet;
import android.widget.SeekBar;
import skin.support.R;
import skin.support.content.res.SkinCompatResources;
/**
* Created by ximsfei on 17-1-21.
*/
public class SkinCompatSeekBarHelper extends SkinCompatProgressBarHelper {
private final SeekBar mView;
private int mThumbResId = INVALID_ID;
public SkinCompatSeekBarHelper(SeekBar view) {
super(view);
mView = view;
}
@Override
void loadFromAttributes(AttributeSet attrs, int defStyleAttr) {
super.loadFromAttributes(attrs, defStyleAttr);
TintTypedArray a = TintTypedArray.obtainStyledAttributes(mView.getContext(), attrs,
R.styleable.AppCompatSeekBar, defStyleAttr, 0);
mThumbResId = a.getResourceId(R.styleable.AppCompatSeekBar_android_thumb, INVALID_ID);
// final Drawable drawable = a.getDrawableIfKnown(R.styleable.AppCompatSeekBar_android_thumb);
// if (drawable != null) {
// mView.setThumb(drawable);
// }
// mTickMarkResId = a.getResourceId(R.styleable.AppCompatSeekBar_tickMark, INVALID_ID);
// final Drawable tickMark = a.getDrawable(R.styleable.AppCompatSeekBar_tickMark);
// setTickMark(tickMark);
// if (a.hasValue(R.styleable.AppCompatSeekBar_tickMarkTintMode)) {
// mTickMarkTintMode = DrawableUtils.parseTintMode(a.getInt(
// R.styleable.AppCompatSeekBar_tickMarkTintMode, -1), mTickMarkTintMode);
// mHasTickMarkTintMode = true;
// }
// if (a.hasValue(R.styleable.AppCompatSeekBar_tickMarkTint)) {
// mTickMarkTintList = a.getColorStateList(R.styleable.AppCompatSeekBar_tickMarkTint);
// mHasTickMarkTint = true;
// }
a.recycle();
// applyTickMarkTint();
applySkin();
}
@Override
public void applySkin() {
super.applySkin();
mThumbResId = checkResourceId(mThumbResId);
if (mThumbResId != INVALID_ID) {
mView.setThumb(SkinCompatResources.getInstance().getDrawable(mThumbResId));
}
}
}