안드로이드 개발 질문/답변
(글 수 45,052)
textview를 터치하면 버튼처럼 색깔을 바꾸고 싶습니다.
그리고 때면 다시 원래대로 돌아갈수 있도록요.
터치했을때는 onTuch리스너로 되는데 원래대로 안돌아가네요 ㅠ
2010.10.01 15:53:14
onTouch리스너에서 구현할 때에는
if( v.getId() == myView.getId())
{
if(event.getX() > 0 && event.getX() < v.getWidth() && event.getY() > 0 && event.getY() < v.getHeight() )
{
myView.setImageResource(R.drawable.image01);
if(event.getAction() == MotionEvent.ACTION_UP)
{
myView.setImageResource(R.drawable.image02);
}
}
else
myView.setImageResource(R.drawable.image02);
return false;
}
이런 식으로 하면 될거에요.
그치만 위에분 말대로 selector이 훨씬 편하죠.
레이아웃에 이와 같이 파일을 생성하구요
backround에 layout/파일명으로 지정하면 될거에요.
맨 아래에 있는 이미지가 기본이미지이고, 나머지 버튼 세개는 눌렸을 때 이미지에요.
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:state_pressed="false"
android:drawable="@drawable/setting_ok_on" />
<item android:state_focused="true" android:state_pressed="true"
android:drawable="@drawable/setting_ok_on" />
<item android:state_focused="false" android:state_pressed="true"
android:drawable="@drawable/setting_ok_on" />
<item android:drawable="@drawable/setting_ok" />
</selector>



