안드로이드 개발 질문/답변
(글 수 45,052)
이미지 버튼에 클릭 효과를 주려 합니다.
xml파일로 selector을 이용하여 default, focused, pressed를 구분주어 각각의 이미지 리소스를 제작하여
클릭 효과를 주는 방법 외에, 하나의 이미지 리소스를 이용하여 클릭효과를 내는 방법이 있을까요?
고수님들은 보통 어떤 방법을 이용하여 버튼의 클릭효과를 주시나요..?
2011.12.01 17:42:49
btn.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch(event.getAction()){
case MotionEvent.ACTION_DOWN:
//버튼이 눌렸을때 버튼의 좌표를 옮기거나 하는 액션
break;
case MotionEvent.ACTION_UP:
//버튼이 눌렸다 떼어졌을때 되돌아오거나 하는 액션
break;
}
return false;
}
});
이런식으로 해도 될거 같네요.
커스텀뷰를 하나 만들면 될거 같은데요(방법은 하나의 뷰로 커스텀해서 onDraw로 하는 방법과
뷰 조합<FrameLayout 에 두개의 뷰 설정>)
기본 selector(default : 투명, pressed : 반투명)을 만들어서
기본적으로 기본selector적용된 부가 맨 상위로 오게 한다음
하위 뷰에 버튼 이미지 리소스를 설정하면 되지 않을까요
그럼 기본 리소스 하나만 있어도 버튼 효과를 줄 수 있을거 같은데요
가볍기로는 onDraw방법이 가볍고
편하기는 뷰조합이 좋을거 같네요...