[Android] 버튼 클릭 효과 주기


Android/안드로이드 프로그래밍 2012. 9. 24. 17:31



iOS에의 경우에는 간단하게 XiB 파일에서 선택 시, 눌려졌을 때, 하이라이트  색상 등이 쉽게 지정이 가능하지만, 안드로이드의 경우에선 레이아웃 xml 파일에서는 따로 지정할 곳이 없다. 


이럴 땐 간단하게, 

res/drawable폴더 생성 후 안에 button_state.xml (이름은 자유)로 만든 후 내용은, 


<?xml version="1.0" encoding="utf-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android">


    <item android:drawable="@color/bg_side_menu_onclick" android:state_pressed="true"/>

    <item android:drawable="@color/bg_side_menu_onclick" android:state_focused="true"/>

    <item android:drawable="@color/bg_side_menu_normal"/>


</selector>


로 파일을 생성한다. 말 그대로 android:state 부분이 클릭이 되었을 때 부분이다. 

윗 파일은 color를 따로 만들어서 사용을 했지만, 이미지파일이 있다면, 이미지를 넣어줘도 무방하다. 

위와 같은 파일을 생성 후에는, 


<Button 

android:background="@drawable/button_state">


라는 속성을 추가하면 버튼 클릭 에 따른 효과가 주어진다. 

삼성전자 갤럭시 S20 플러스 자급제폰, 코스믹 그레이, 256GB Apple 에어팟 프로 (노이즈캔슬링 방수 블루투스 5), MWP22KH/A, 단일 색상 삼성전자 갤럭시탭S6 10.5 128G WIFI, SM-T860N, 마운틴 그레이

WRITTEN BY
ShakeJ

트랙백  0 , 댓글  0개가 달렸습니다.
secret