패키지 android.widget;수직 탐색 바가 비정상적으로 동작합니다
import android.content.Context;
import android.graphics.Canvas;
import android.util.AttributeSet;
import android.view.MotionEvent;
public class VerticalSeekBar extends SeekBar {
public VerticalSeekBar(Context context) {
super(context);
}
public VerticalSeekBar(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
public VerticalSeekBar(Context context, AttributeSet attrs) {
super(context, attrs);
}
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
super.onSizeChanged(h, w, oldh, oldw);
}
@Override
protected synchronized void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(heightMeasureSpec, widthMeasureSpec);
setMeasuredDimension(getMeasuredHeight(), getMeasuredWidth());
}
protected void onDraw(Canvas c) {
c.rotate(-90);
c.translate(-getHeight(), 0);
super.onDraw(c);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
if (!isEnabled()) {
return false;
}
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
case MotionEvent.ACTION_MOVE:
case MotionEvent.ACTION_UP:
setProgress(getMax() - (int) (getMax() * event.getY()/getHeight()));
onSizeChanged(getWidth(), getHeight(), 0, 0);
break;
case MotionEvent.ACTION_CANCEL:
break;
}
return true;
}
}
위의 코드를 사용하여 검색 바를 사용자 정의했습니다. 내 seekbar의 엄지가 거꾸로 표시됩니다. 즉 엄지 손가락은 정상적으로 행동해야하므로 엄밀히 말하면 반대 방향으로 행동합니다. 내 목록 뷰가 시작되면 엄지 손가락은 탐색 바의 마지막 위치에 있고 그 반대도 마찬가지입니다. 도움!!!!!!!
당신은 그것이 작동하는 방법의 샘플 스크린 샷을 게시 할 수 있습니까? –
엄지 손가락은 꼭대기에 있어야합니다 ..하지만 아래쪽에 있습니다 .. 그리고리스트 뷰가 아래로 스크롤하면 엄지 손가락이 올라갑니다 .. 이것은 단지 역방향 행동입니다 ....... –