상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
수정하기 - HorizontalScrollView에서 드래그 앤 드랍 시 피드백 주는 방법은?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
`HorizontalScrollView`에서 드래그 앤 드랍을 사용할 때 사용자가 어떻게 항목을 이동시키는지에 대한 피드백을 주는 것은 사용자 경험을 향상시킬 수 있습니다. 드래그 앤 드랍 도중 피드백을 줄 수 있는 여러 가지 방법이 있으며, 다음과 같은 접근 방법을 고려할 수 있습니다. 1. 드래그 피드백 뷰 추가하기 드래그하고 있는 항목에 대한 시각적 피드백을 제공할 수 있습니다. 예를 들어, 사용자가 드래그할 때 해당 항목의 배경색을 변경하거나, 투명도가 변경되도록 할 수 있습니다. ```kotlin itemView.setOnTouchListener { view, event -> when (event.action) { MotionEvent.ACTION_DOWN -> { // 드래그할 아이템의 뷰를 저장하고 배경색 등을 변경 view.setBackgroundColor(Color.LTGRAY) // 드래그 시작 처리 true } MotionEvent.ACTION_MOVE -> { // 드래그 이동 처리 // 드래그 위치 업데이트 true } MotionEvent.ACTION_UP -> { // 드래그 종료 처리 view.setBackgroundColor(Color.TRANSPARENT) // 원래 색으로 되돌리기 true } else -> false } } ``` 2. 스크롤 피드백 제공하기 사용자가 항목을 이동시키는 동안 스크롤이 발생할 경우, `HorizontalScrollView`가 자동으로 스크롤하도록 설정할 수 있습니다. 사용자가 드래그하여 가장자리로 이동할 때 뷰가 자연스럽게 스크롤하도록 구현할 수 있습니다: ```kotlin horizontalScrollView.setOnDragListener { v, event -> when (event.action) { DragEvent.ACTION_DRAG_ENTERED -> { // 스크롤 동작 구현 if (event.x < scroll<a href='https://sangseek.com/sangseeks/Threshold/ko'>Threshold</a>) { horizontalScrollView.smoothScrollBy(-scrollDistance, 0) } else if (event.x > (horizontalScrollView.width - scrollThreshold)) { horizontalScrollView.smoothScrollBy(scrollDistance, 0) } true } DragEvent.ACTION_DRAG_EXITED -> { // 정지 horizontalScrollView.scrollBy(0, 0) true } else -> false } } ``` 3. 사용자 인터페이스 요소 활용하기 드래그 앤 드랍의 피드백을 더욱 향상시키기 위해, 커서를 보여주거나 드래그 중인 항목의 내용을 보이게 하는 등의 방법을 사용할 수 있습니다. 예를 들어, 드래그하는 내용을 복사한 미리보기 뷰를 생성하는 것입니다. ```kotlin val dragPreview = // 드래그 미리보기 생성 dragPreview.visibility = View.VISIBLE dragPreview.translationX = event.x dragPreview.translationY = event.y ``` 4. 드래그 종료 시 확인 구현하기 드래그가 끝났을때 사용자가 드래그한 아이템이 놓일 수 있는 유효한 위치인지 확인하고, 이를 사용자에게 알리는 경고 메시지나 애니메이션을 구현할 수 있습니다. 5. 애니메이션 추가하기 드래그 앤 드랍 종료 시 항목이 이동하는 것을 애니메이션으로 표현하여 사용자에게 피드백을 줄 수 있습니다. 항목이 새로운 위치로 부드럽게 이동하도록 할 수 있습니다. ```kotlin val animateToView = // 드래그 놓을 뷰 animateToView.animate().translationX(0f).setDuration(300).start() ``` 이러한 다양한 방법으로 사용자가 드래그 앤 드랍하는 동안 피드백을 제공하여, 직관적이고 원활한 사용자 경험을 제공할 수 있습니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기