마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

레이아웃 클릭시 버튼 효과처럼 색이 진하게 됫다가 ACTION_UP 일때 원래 색으로 되돌리는거 어떻게 하죠?

0 추천

xml 레이아웃에 id 값을 layout 으로 선언해 놓고 

java 파일에서

layout.setOnTouchListener(new View.OnTouchListener() {
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        switch(event.getAction()){
            case MotionEvent.ACTION_UP:

                Toast.makeText(getApplicationContext(),"UP",Toast.LENGTH_LONG).show();
                layout.setBackgroundColor(Color.parseColor("#ffffff"));
                break;
            case MotionEvent.ACTION_DOWN:
                layout.setBackgroundColor(Color.parseColor("#e1ebcc"));
                break;

        }
        return false;
    }
});

이렇게 선언했는데 눌렸을 때 색은 바뀌는데 땟을 때 토스트 메시지도 안뜹니다. 

switch 에서 break 로 나가서 UP 이 인식이 안되는 건가 싶기도 하고  어떻게 해야하죠? 

 

기객 (3,600 포인트) 님이 2017년 2월 8일 질문
MOVE 를 구현하지 않아서 그랬나 MOVE 도 추가하니깐 되네요....흠

1개의 답변

+1 추천
 
채택된 답변
android:background="?android:attr/selectableItemBackground"

이걸 넣어주고, 클릭 리스너 걸어주면 잘 될 겁니다. 

쎄미 (162,410 포인트) 님이 2017년 2월 9일 답변
기객님이 2017년 2월 21일 채택됨
...