버튼이면 당연히 있어야할 누름효과!
눌렸을때와 누르지않았을때가 같다면 과연 버튼일까?
당연하지만 그래서 잃혀지기 쉬운 기능
버튼의 누름효과!!
안드로이드에서 기본적인 버튼은 누름효과가 있다.
하지만 나만의 예쁜 버튼을 만들려고 이미지를 넣으면 이런 효과는 사라진다.
이때 누름효과가 생기도록 하는 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;
}
});
도움이 되셨다면~ 정성으로 빚은 저희 앱! 많은 이용 바래요:)
https://meorimal.com/index.html?tab=spaceship
https://meorimal.com/subway.html
'개발 > android' 카테고리의 다른 글
함수의 옵션을 블럭처럼 조합해서 사용해보자~ (0) | 2015.08.24 |
---|---|
Fragment에서 startActivityForResult() 호출시 onActivityResult() requestCode 문제 (0) | 2015.06.22 |
오로지 기울기 센서로만 가로세로 모드 체크하기 (0) | 2015.02.23 |
Surface View에서 간단한 이미지버튼 손수 만들기 (2) | 2014.10.19 |
게임에 꼭 필요한 난수, 간단하게 확률대로 발생시키기 (0) | 2014.09.14 |