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

눌러지는 버튼 만드는법

0 추천
button 을 만들면 한번 누르면 클릭되는 느낌이 나잖아요?

제가 만들고 싶은 버튼은 한번 누르면 버튼이 눌러진모양이되고

다시 한번더 누르면 원래 모양으로 돌아오게 하고싶습니다.

따로 버튼명령어가 없는거면 소스좀 알려주시면 감사하겠습니다.

--------------------

그리고 여러개의 버튼중 지정된 2개의 버튼을 누르고

[확인]버튼을 누르면 이벤트가 발생되게 하려고 하는데요

그것에 대한 소스도 좀 알려주시면 감사하겠습니다.

뭐라고 찾아야 할지 몰라서 질문올립니다 제발 소스로 답해주시면 감사하겠습니다.
parksm823 (180 포인트) 님이 2017년 11월 29일 질문

1개의 답변

0 추천
https://stackoverflow.com/questions/7175873/click-effect-on-button-in-android

 

여기참고해보시면좋을거같습니다.
sadeva (21,550 포인트) 님이 2017년 11월 29일 답변
사이트가 온통 영어라서 보기 힘드네요..

public static void buttonEffect(View button){
        button.setOnTouchListener(new View.OnTouchListener() {

            public boolean onTouch(View v, MotionEvent event) {
                switch (event.getAction()) {
                    case MotionEvent.ACTION_DOWN: {
                        v.getBackground().setColorFilter(0xe0f47521, PorterDuff.Mode.SRC_ATOP);
                        v.invalidate();
                        break;
                    }
                    case MotionEvent.ACTION_UP: {
                        v.getBackground().clearColorFilter();
                        v.invalidate();
                        break;
                    }
                }
                return false;
            }
        });

이 소스를 찾긴했는데 이 소스를 적용시킬 버튼선언을 어디서 해야할지 모르겠어요;;
ex) Button button  = (Button)findViewById(R.id.button1);
buttonEffect(button);

여기서 buttonEffect 는 위에 소스함수 호출하면됩니다.
public void selectClick(View v) {
        Button button  = (Button)findViewById(R.id.bol);
        buttonEffect(button);
    }

이렇게 하면 되는거 아닌가요?
이렇게 하면 버튼 눌렀을때 색깔이 바뀌긴하는데 마우스를 때는순간 원래대로 돌아오네요
제가 원하는건 한번 클릭하면 버튼이 들어가고 한번더 클릭하면 원래상태로 돌아오는건데 그 코드도 따로 있을까요? ㅠㅠ
...