728x90
반응형
SMALL
스크롤뷰로 스크롤을 내리려는데, 터치 효과(애니메이션 효과 등)와 함께 동작할 수도 있다.
그럴때는 터치 이벤트 리스너에서 분기를 체크해서 이벤트를 제어한다.\
binding.getRoot().setOnTouchListener(new View.OnTouchListener() {
private float initialY, finalY;
private boolean isScrolling;
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
initialY = event.getY();
isScrolling = false; //스크롤중인지 여부
break;
case MotionEvent.ACTION_MOVE:
finalY = event.getY();
isScrolling = Math.abs(finalY - initialY) > 10; // 스크롤 감지 기준값(예: 10픽셀. 해당 값으로 범위를 지정)
break;
case MotionEvent.ACTION_UP:
if (!isScrolling && flipFlag) { //flipFlag는 뒤집어지는 이벤트를 위한 플래그
FlashCardDialog flashCardDialog = (FlashCardDialog) getActivity();
flashCardDialog.animationFlip(); //뒤집기 애니메이션
final Handler handler = new Handler(Looper.getMainLooper());
handler.postDelayed(new Runnable() {
@Override
public void run() {
if (binding != null) {
// TODO 이벤트!
}
}
}, 500);
flipFlag = !flipFlag;
}
break;
}
return false;
}
});
728x90
반응형
LIST
'Android' 카테고리의 다른 글
안드로이드 ImageView Http url로 가져오기 (0) | 2023.12.31 |
---|---|
java.net.UnknownHostException: Unable to resolve host : No address associated with hostname (0) | 2023.12.31 |
Activity 스택에 쌓인 기록 한번에 정리 (0) | 2023.11.15 |
안드로이드 InputText에 숫자 입력 범위 지정 (0) | 2023.10.26 |
안드로이드 Textview 텍스트뷰에 스크롤 달기 (0) | 2023.10.26 |