탭할 때 수직 탐색 막대가 움직이지 않도록 방지

실제 사용자

가로 목록보기에서 세로 탐색 막대를 사용하고 있는데 현재 탐색 막대는 진행률 드로어 블에서 손가락 터치로도 움직입니다. 하지만 엄지가 움직일 때만 움직이고 싶어요. progressdrawable을 터치하면 탐색 막대 값이 변경되지 않아야합니다. 어떻게 예방할 수 있습니까?

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_UP:
        case MotionEvent.ACTION_MOVE:
            int i=0;
            i=getMax() - (int) (getMax() * event.getY() / getHeight());
            setProgress(i);
            onSizeChanged(getWidth(), getHeight(), 0, 0);
            break;

        case MotionEvent.ACTION_CANCEL:
            break;
    }
    return true;
}

Drawable mThumb;

@Override
public void setThumb(Drawable thumb) {
    super.setThumb(thumb);
    mThumb = thumb;
}
public Drawable getSeekBarThumb() {
    return mThumb;
}

public void updateThumb(){
    onSizeChanged(getWidth(), getHeight(), 0, 0);

}}

실제 사용자

다음과 같이 문제를 해결했습니다. 엄지 이미지 바깥 쪽을 터치하면 탐색 막대 값이 변경되지 않습니다.

holder.vertical_seekBar.setOnTouchListener(new OnTouchListener() {
                @Override
                public boolean onTouch(View v, MotionEvent event) {

                    if(event.getAction() == MotionEvent.ACTION_MOVE ||
                            event.getAction() == MotionEvent.ACTION_UP ||
                            event.getAction() == MotionEvent.ACTION_DOWN){
                        Rect seekBarThumbRect = holder.vertical_seekBar.getSeekBarThumb().getBounds();
                        int seekBarHeight = holder.vertical_seekBar.getHeight();
                        if(seekBarThumbRect.left - (seekBarThumbRect.right - seekBarThumbRect.left) / 2 < (Math.abs(seekBarHeight - event.getY())) &&
                                seekBarThumbRect.right + (seekBarThumbRect.right - seekBarThumbRect.left) / 2 > (Math.abs(seekBarHeight - event.getY())) &&
                                seekBarThumbRect.top < event.getX() &&
                                seekBarThumbRect.bottom > event.getX())
                                        return false;
                    }
                    return true;
                }
            });

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

크기를 조정할 때 div / div 이미지가 움직이지 않게하고 상단에서 %를 갖도록 허용하는 방법

분류에서Dev

다른 형제가 페이드 아웃 될 때 움직이지 않도록 div를 조정하는 방법

분류에서Dev

지도를 살짝 움직이거나 클릭 할 때까지 마커가 표시되지 않음

분류에서Dev

OOP 방식을 사용할 때 파이 게임 개체가 움직이지 않습니다.

분류에서Dev

페이지를 전환 할 때 로고가 움직입니다.

분류에서Dev

텍스트를 편집 할 때 로고가 움직이지 않도록하려면 어떻게해야합니까?

분류에서Dev

사용자가 페이지를 스크롤 할 때 상단의 탐색 모음을 수정하려고 할 때 직면하는 문제

분류에서Dev

웹 개발 : 브라우저에 페이지를 '저장'하고 탐색 할 때마다 페이지가 다시로드되지 않도록하는 방법

분류에서Dev

C # 충돌, 부울이 오른쪽으로 움직일 수 없다고 말하는 경우 플레이어가 움직이지 않도록하는 방법

분류에서Dev

커서를 움직일 때 자동으로 추가 된 들여 쓰기를 제거하지 않도록 Vim에 지시하는 방법이 있습니까?

분류에서Dev

Swift 3 (SpriteKit) : 이미지가 변경 될 때 SKShapeNode가 움직이지 않음

분류에서Dev

창 크기를 조정할 때 버튼이 움직이지 않도록 UI를 정의하는 방법은 무엇입니까?

분류에서Dev

각 탭 CSS 아래에 탐색 막대 화살표가 표시되지 않음

분류에서Dev

코드에서 검색 막대의 진행률 값을 설정할 때 onProgressChanged 이벤트가 발생하지 않도록하는 방법은 무엇입니까?

분류에서Dev

직렬화 가능 클래스에있을 때 Api 탐색기에서 Enum이 설정되지 않음

분류에서Dev

마우스를 빠르게 움직여도 천천히 움직일 때와 같이 빨간색으로 점이 생성되지 않습니다.

분류에서Dev

고정 된 위치 탐색 막대 뒤에 콘텐츠가 숨겨지지 않도록 방지

분류에서Dev

탐색 스택을 수정할 때 viewDidLoad가 호출되지 않음

분류에서Dev

왼쪽에 탐색 막대가있는 jquery ui 탭 페이지

분류에서Dev

Ubuntu 18.04.2 LTS가 무작위로 멈춤-커서도 움직이지 않습니다. 이를 방지 할 수있는 해결책이 있습니까?

분류에서Dev

스크롤 할 때 움직이지 않는 열을 유지하는 방법은 무엇입니까?

분류에서Dev

내 선수가 제대로 움직이지 않습니다. 키를 누르고 있으면 계속 움직여야하지만 한 번만 움직입니다.

분류에서Dev

내 선수가 제대로 움직이지 않습니다. 키를 누르고 있으면 계속 움직여야하지만 한 번만 움직입니다.

분류에서Dev

충돌하는 블록으로 파이를 계산할 때 빠르게 움직이는 물체가 정적을 통과하는 것을 방지하는 방법

분류에서Dev

마우스가 움직이지 않을 때 JQuery 페이드 아웃

분류에서Dev

시차가 움직이지 않음

분류에서Dev

한 개체가 움직이지 않음

분류에서Dev

탐색 전에 대기 가능한 방법 일 때 Prism이 페이지를 탐색하지 않음

분류에서Dev

마우스가 움직일 때 스크롤 휠이 작동하지 않음

Related 관련 기사

  1. 1

    크기를 조정할 때 div / div 이미지가 움직이지 않게하고 상단에서 %를 갖도록 허용하는 방법

  2. 2

    다른 형제가 페이드 아웃 될 때 움직이지 않도록 div를 조정하는 방법

  3. 3

    지도를 살짝 움직이거나 클릭 할 때까지 마커가 표시되지 않음

  4. 4

    OOP 방식을 사용할 때 파이 게임 개체가 움직이지 않습니다.

  5. 5

    페이지를 전환 할 때 로고가 움직입니다.

  6. 6

    텍스트를 편집 할 때 로고가 움직이지 않도록하려면 어떻게해야합니까?

  7. 7

    사용자가 페이지를 스크롤 할 때 상단의 탐색 모음을 수정하려고 할 때 직면하는 문제

  8. 8

    웹 개발 : 브라우저에 페이지를 '저장'하고 탐색 할 때마다 페이지가 다시로드되지 않도록하는 방법

  9. 9

    C # 충돌, 부울이 오른쪽으로 움직일 수 없다고 말하는 경우 플레이어가 움직이지 않도록하는 방법

  10. 10

    커서를 움직일 때 자동으로 추가 된 들여 쓰기를 제거하지 않도록 Vim에 지시하는 방법이 있습니까?

  11. 11

    Swift 3 (SpriteKit) : 이미지가 변경 될 때 SKShapeNode가 움직이지 않음

  12. 12

    창 크기를 조정할 때 버튼이 움직이지 않도록 UI를 정의하는 방법은 무엇입니까?

  13. 13

    각 탭 CSS 아래에 탐색 막대 화살표가 표시되지 않음

  14. 14

    코드에서 검색 막대의 진행률 값을 설정할 때 onProgressChanged 이벤트가 발생하지 않도록하는 방법은 무엇입니까?

  15. 15

    직렬화 가능 클래스에있을 때 Api 탐색기에서 Enum이 설정되지 않음

  16. 16

    마우스를 빠르게 움직여도 천천히 움직일 때와 같이 빨간색으로 점이 생성되지 않습니다.

  17. 17

    고정 된 위치 탐색 막대 뒤에 콘텐츠가 숨겨지지 않도록 방지

  18. 18

    탐색 스택을 수정할 때 viewDidLoad가 호출되지 않음

  19. 19

    왼쪽에 탐색 막대가있는 jquery ui 탭 페이지

  20. 20

    Ubuntu 18.04.2 LTS가 무작위로 멈춤-커서도 움직이지 않습니다. 이를 방지 할 수있는 해결책이 있습니까?

  21. 21

    스크롤 할 때 움직이지 않는 열을 유지하는 방법은 무엇입니까?

  22. 22

    내 선수가 제대로 움직이지 않습니다. 키를 누르고 있으면 계속 움직여야하지만 한 번만 움직입니다.

  23. 23

    내 선수가 제대로 움직이지 않습니다. 키를 누르고 있으면 계속 움직여야하지만 한 번만 움직입니다.

  24. 24

    충돌하는 블록으로 파이를 계산할 때 빠르게 움직이는 물체가 정적을 통과하는 것을 방지하는 방법

  25. 25

    마우스가 움직이지 않을 때 JQuery 페이드 아웃

  26. 26

    시차가 움직이지 않음

  27. 27

    한 개체가 움직이지 않음

  28. 28

    탐색 전에 대기 가능한 방법 일 때 Prism이 페이지를 탐색하지 않음

  29. 29

    마우스가 움직일 때 스크롤 휠이 작동하지 않음

뜨겁다태그

보관