터치 동작 사용
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
Compose 방식 사용해 보기
Jetpack Compose는 Android에 권장되는 UI 도구 키트입니다. Compose에서 터치 및 입력을 사용하는 방법을 알아보세요.
이 문서에서는 사용자가 터치 동작을 사용하여 앱과 상호작용할 수 있는 앱을 작성하는 방법을 설명합니다. Android에서는 동작을 만들고 감지할 수 있게 돕는 다양한 API를 제공합니다.
모든 상황에서 모든 사용자가 동작을 사용할 수 있는 것은 아니므로 앱에서 기본적인 동작을 위한 터치 동작에 의존해서는 안 되지만, 터치 기반 상호작용을 앱에 추가하면 앱의 유용성과 매력을 크게 높일 수 있습니다.
사용자에게 일관되고 직관적인 환경을 제공하려면 앱은 Android에서 허용되는 터치 동작 규칙을 따라야 합니다. 머티리얼 디자인 동작 문서에서는 Android 앱의 일반적인 동작을 사용하는 방법을 보여줍니다. 머티리얼 모션도 참고하세요.
이 주제에 관한 자세한 내용은 다음 관련 가이드를 참조하세요.
주제
-
일반 동작 감지하기
GestureDetector
를 사용하여 스크롤, 살짝 튕기기, 두 번 탭하기 같은 기본적인 터치 동작을 감지하는 방법을 알아보세요.
-
터치 및 포인터 움직임 추적하기
-
움직임을 추적하는 방법을 알아보세요.
-
스크롤 동작 애니메이션 처리
- 터치 이벤트에 응답하여 스크롤러(
Scroller
또는 OverScroller
)를 사용하여 스크롤 애니메이션을 생성하는 방법을 알아봅니다.
-
멀티 터치 동작 처리
-
여러 포인터 (손가락) 동작을 감지하는 방법을 알아보세요.
-
드래그 및 크기 조정
-
터치 기반 드래그 및 확장을 구현하는 방법을 알아봅니다.
- ViewGroup에서 터치 이벤트 관리하기
- 터치 이벤트가 타겟 뷰에 올바르게 전달되도록
ViewGroup
에서 터치 이벤트를 관리하는 방법을 알아보세요.
이 페이지에 나와 있는 콘텐츠와 코드 샘플에는 콘텐츠 라이선스에서 설명하는 라이선스가 적용됩니다. 자바 및 OpenJDK는 Oracle 및 Oracle 계열사의 상표 또는 등록 상표입니다.
최종 업데이트: 2025-07-26(UTC)
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["필요한 정보가 없음","missingTheInformationINeed","thumb-down"],["너무 복잡함/단계 수가 너무 많음","tooComplicatedTooManySteps","thumb-down"],["오래됨","outOfDate","thumb-down"],["번역 문제","translationIssue","thumb-down"],["샘플/코드 문제","samplesCodeIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-07-26(UTC)"],[],[],null,["# Use touch gestures\n\nTry the Compose way \nJetpack Compose is the recommended UI toolkit for Android. Learn how to use touch and input in Compose. \n[Gestures →](/jetpack/compose/touch-input/pointer-input) \n\nThis document describes how to write apps that let users interact with an app using touch\ngestures. Android provides a variety of APIs to help you create and detect gestures.\n\nAlthough your app must not depend on touch gestures for basic behaviors---since the gestures\nmight not be available to all users in all contexts---adding touch-based interaction to your app\ncan greatly increase its usefulness and appeal.\n\nTo provide users with a consistent, intuitive experience, your app must follow the accepted\nAndroid conventions for touch gestures. The\n[Material Design Gestures](https://material.io/design/interaction/gestures.html)\ndocument shows you how to use common gestures in Android apps. Also, see\n[Material Motion](https://material.io/guidelines/motion/material-motion.html).\n\nFor more information about this topic, read the following related guides:\n\n- [Input events overview](/guide/topics/ui/ui-events)\n- [Sensors overview](/guide/topics/sensors/sensors_overview)\n- [Make a custom view\n interactive](/training/custom-views/making-interactive)\n\nTopics\n------\n\n\n**[Detect common gestures](/develop/ui/views/touch-and-input/gestures/detector)**\n:\n Learn how to detect basic touch gestures, such as scrolling, flinging, and double-tapping,\n using\n [GestureDetector](/reference/android/view/GestureDetector).\n\n\n**[Track touch and pointer movements](/develop/ui/views/touch-and-input/gestures/movement)**\n:\n Learn how to track movement.\n\n\n**[Animate a scroll gesture](/develop/ui/views/touch-and-input/gestures/scroll)**\n:\n Learn how to use\n scrollers---[Scroller](/reference/android/widget/Scroller)\n or\n [OverScroller](/reference/android/widget/OverScroller)---to\n produce a scrolling animation in response to a touch event.\n\n\n**[Handle multi-touch gestures](/develop/ui/views/touch-and-input/gestures/multi)**\n:\n Learn how to detect multi-pointer (finger) gestures.\n\n\n**[Drag and scale](/develop/ui/views/touch-and-input/gestures/scale)**\n:\n Learn how to implement touch-based dragging and scaling.\n\n**[Manage touch events in a ViewGroup](/develop/ui/views/touch-and-input/gestures/viewgroup)**\n: Learn how to manage touch events in a\n [ViewGroup](/reference/android/view/ViewGroup) to ensure that\n touch events are correctly dispatched to their target views."]]