selector 저 맘에 안들죠?

남궁현·2023년 8월 7일
0

Android

목록 보기
5/15

오늘은 간단하게

  • 주어진 개인과제가 끝나서 튜터님들에게 검수를 받고 제출을 했다. 그런 후 추가 과제가 나왔는데 Selector를 이용해서 버튼 클릭 시 버튼 배경색과 이미지 전환을 하는 과제다.

selector

  • View의 각 상태의 drawable을 달리하여 효과를 줄 수 있는 방법이다.
    Background와 textColor 등에 적용할 수 있다.

많이 쓰이는 종류

PRESSED 눌렀을 때 
ENABLED 사용 가능 할 때
SELECTED 선택 되었을 때
FOCUSED 해당 뷰에게 포커스가 이동할 때
CHECKED 체크되었을 때

selected로 버튼이 눌렸을 때 이벤트를 주려 했는데 이미지 쪽에서 계속 충돌이 나는지 이미지가 불러와지질 않거나 사이지 조정이 안됬다. 그래서 튜터님께 여쭤보니 color_select를 따로 빼서 select를 두개를 적용시켜보라고 하셨다.

  • image_selector

    	<selector xmlns:android="http://schemas.android.com/apk/res/android">
    	<item android:drawable="@drawable/apple" android:state_pressed="true" />
    	<item android:drawable="@drawable/grape" />
    	</selector>
  • color_selector

    	<selector xmlns:android="http://schemas.android.com/apk/res/android">
    	<item android:color="@color/black" android:state_pressed="true"/>
    	<item android:color="@color/white"/>
    	</selector> 
  • Button
    <androidx.appcompat.widget.AppCompatButton
    android:id="@+id/test_button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="test2"
    android:backgroundTint="@color/button_selector"
    android:drawableStart="@drawable/button_image_selector"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintStart_toStartOf="parent"/>

    • 내일은 이렇게 튜터님이 알려주신대로 코드를 바꿔볼 생각이다.
profile
신입 안드로이드 개발자

0개의 댓글