상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
수정하기 - HorizontalScrollView의 클릭 가능한 아이템에 대해 시각적 피드백을 구현하는 방법은?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
Horizontal<a href='https://sangseek.com/sangseeks/ScrollView/ko'>ScrollView</a> 내의 클릭 가능한 아이템에 대해 시각적 피드백을 구현하는 방법은 여러 가지가 있습니다. 여기서는 Android 환경을 기준으로 설명하겠습니다. 1. `StateListDrawable` 사용하기 아이템의 시각적 피드백을 제공하기 위해 `StateListDrawable`을 사용할 수 있습니다. 이 Drawable은 아이템의 상태에 따라 다른 배경을 설정해줍니다. 단계: 1. Drawable 리소스 생성 : `res/drawable/selector_item.xml` 파일을 생성하고, 상태에 따라서 다양한 배경을 정의합니다. ```xml <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" android:drawable="@color/colorPressed" /> <item android:drawable="@color/colorDefault" /> </selector> ``` 2. 아이템에 Drawable 적용하기 : 클릭 가능한 아이템의 레이아웃에 방금 생성한 selector를 배경으로 설정합니다. ```xml <TextView android:id="@+id/item" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/selector_item" android:text="Item" /> ``` 2. `RippleEffect` 사용하기 (API 21 이상) 안드로이드 5.0 (Lollipop) 이상에서는 Ripple 효과를 사용할 수 있습니다. 이 효과는 터치 시 물결 효과를 제공합니다. 단계: 1. RippleDrawable 생성 : `res/drawable/ripple_background.xml` 파일을 생성합니다. ```xml <ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="@color/colorRipple"> <item android:id="@android:id/mask"> <shape android:shape="rectangle"> <solid android:color="@color/colorDefault" /> </shape> </item> </ripple> ``` 2. 아이템에 Ripple 적용하기 : 클릭 가능한 아이템의 레이아웃에 방금 생성한 RippleDrawable을 배경으로 설정합니다. ```xml <TextView android:id="@+id/item" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/ripple_background" android:clickable="true" android:focusable="true" android:text="Item" /> ``` 3. `OnTouchListener` 사용하기 특정 동작에 따른 피드백을 원하는 경우, `OnTouchListener`를 사용할 수 있습니다. 단계: 1. 아이템에 리스너 설정 : 아이템에 대해 터치 이벤트를 리슨합니다. ```java itemView.setOnTouchListener(new View.OnTouchListener() { @Override public <a href='https://sangseek.com/sangseeks/boolean/ko'>boolean</a> onTouch(View v, MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: v.setBackgroundColor(getResources().getColor(R.color.colorPressed)); break; case MotionEvent.ACTION_UP: case MotionEvent.ACTION_CANCEL: v.setBackgroundColor(getResources().getColor(R.color.colorDefault)); break; } return true; // 이벤트를 소비합니다. } }); ``` 4. 사용자 정의 뷰 확장하기 더 복잡한 피드백이 필요한 경우, 사용자 정의 뷰를 생성하여 터치 이벤트와 스타일을 직접 구현할 수 있습니다. 결론 위의 방법 중 적합한 방법을 선택하여 HorizontalScrollView 내의 클릭 가능한 아이템에 시각적 피드백을 적용할 수 있습니다. 간단하게는 Drawable을 사용하는 방법이 있으며, 더 세련된 효과를 원한다면 Ripple이나 TouchListener를 활용할 수 있습니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기