본문 바로가기

옛글/안드로이드 프로그래밍

[Android] 버튼 클릭 효과 주기

반응형

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">


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

반응형