본문 바로가기
개발/android

버튼 누름 효과를 만드는 2가지 방법

by 매몰 2015. 4. 19.

 

 

 

 

버튼이면 당연히 있어야할 누름효과!

눌렸을때와 누르지않았을때가 같다면 과연 버튼일까?

 

당연하지만 그래서 잃혀지기 쉬운 기능

버튼의 누름효과!!

 

안드로이드에서 기본적인 버튼은 누름효과가 있다.

하지만 나만의 예쁜 버튼을 만들려고 이미지를 넣으면 이런 효과는 사라진다.

 

이때 누름효과가 생기도록 하는 2가지 방법이 있다.

 

 

 

첫번째는 xml의 selector를 이용하는 것이다.

 

res의 drawable 폴더에 button_selector.xml 파일을 만든다.

여기서 버튼의 일반이미지, 누름이미지를 다음과 같이 설정한다.

 

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

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

    <item android:state_pressed="false" android:drawable="@drawable/button" />

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

 

</selector>

 

 

그리고 layout의 버튼에 selector를 적용한다.

 

<Button android:id="@+id/Button"

android:layout_width="61dp" android:layout_height="35dp" 

android:background="@drawable/button_selector"></Button>

 

 

 

두번째는 자바코드로 넣는 것이다.

 

Button button = (Button)findViewById(R.id.Button);

button.setOnTouchListener(new View.OnTouchListener() {

 

@Override

public boolean onTouch(View v, MotionEvent event) {

switch(event.getAction()) {

case MotionEvent.ACTION_UP:

case MotionEvent.ACTION_CANCEL:

v.setBackgroundResource(R.drawable.button);

break;

 

case MotionEvent.ACTION_DOWN:

v.setBackgroundResource(R.drawable.button_press);

}

 

return false;

}

 

});

 

 

 

 

사업자 정보 표시
주식회사 머리말 | 고영진 | 서울특별시 송파구 중대로 135 서관 10층 (가락동, 아이티벤처타워) | 사업자 등록번호 : 524-88-00727 | TEL : 010-9990-3674 | Mail : gyjmeba@hanmail.net | 통신판매신고번호 : 2017-서울강남-03941호 | 사이버몰의 이용약관 바로가기