package com.yuyh.library.view.viewpager.indicator.slidebar;
import android.annotation.TargetApi;
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.os.Build;
import android.view.View;
/**
*
* @author试着飞
* @date 2014年11月2日
* @version 1.0 通过图片来设置滑动块
*/
public class DrawableBar implements ScrollBar {
protected Gravity gravity;
protected View view;
protected int drawableId;
protected Drawable drawable;
public DrawableBar(Context context, int drawableId) {
this(context, drawableId, Gravity.BOTTOM);
}
public DrawableBar(Context context, int drawableId, Gravity gravity) {
this(context, context.getResources().getDrawable(drawableId), gravity);
}
public DrawableBar(Context context, Drawable drawable) {
this(context, drawable, Gravity.BOTTOM);
}
@SuppressWarnings("deprecation")
@TargetApi(Build.VERSION_CODES.JELLY_BEAN)
public DrawableBar(Context context, Drawable drawable, Gravity gravity) {
view = new View(context);
this.drawable = drawable;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
view.setBackground(drawable);
} else {
view.setBackgroundDrawable(drawable);
}
this.gravity = gravity;
}
public int getColor() {
return drawableId;
}
public void setColor(int color) {
this.drawableId = color;
view.setBackgroundColor(color);
}
@Override
public int getHeight(int tabHeight) {
return drawable.getIntrinsicHeight();
}
@Override
public int getWidth(int tabWidth) {
return drawable.getIntrinsicWidth();
}
@Override
public View getSlideView() {
return view;
}
@Override
public Gravity getGravity() {
return gravity;
}
public DrawableBar setGravity(Gravity gravity) {
this.gravity = gravity;
return this;
}
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
}