搬家后的博客链接: IT客栈 www.itkezhan.org
这几天需要用到垂直的 seekbar 但是android 包下翻了一下。发现没有,只能自己修改源码。
主要是继承 AbsSeekBar 然后修改下面这些方法
onProgressRefresh() //当进度条数据更新的时候,例如我们拖动滑动条的时候,这个方法被调用
setThumbPos() //这个方法是设置Thumb的位置
onDraw() //这个是负责画界面
onSizeChanged() //更新画布尺寸
onTouchEvent() //当触摸屏幕的时候被调用
trackTouchEvent() //当拖动滑动条的时候,这个被调用
还有就是添加一个接口这个接口是SeekBar 的一个内部接口 public interface OnSeekBarChangeListener
里面有三个方法:
public void onProgressChanged(VerticalSeekBar vBar, int progress,boolean fromUser);
public void onStartTrackingTouch(VerticalSeekBar vBar);
public void onStopTrackingTouch(VerticalSeekBar vBar);
这个接口主要是为外部提供监听。多说无益,大家看源代码明白一点。
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Rect;
import android.graphics.drawable.Drawable;
import android.util.AttributeSet;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import