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

버튼 누르면 다른 색깔로 버튼이 변하는 방법

0 추천
protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  
  MP1=MediaPlayer.create(this, R.raw.music1);
  
  final Button btn1=(Button)findViewById(R.id.btn1);
  btn1.setOnClickListener(new Button.OnClickListener() {
   public void onClick(View v)
   {
                if(MP1.isPlaying()){
                btn1.setText("음악");
                MP1.pause();
                }else{
                btn1.setText("음악");
                btn1.setBackgroundColor(Color.RED);
                MP1.start();
                MP1.setLooping(true);
                }
            }
        });  

위 코드처럼 음악이라는 버튼을 누르면 노래가 재생이 되구요

음악이라는 글씨는 그대로 있고 버튼 색깔만 변경을 했는데

다시 그 버튼을 누르면 색깔이 처음상태로 적용이 안되네요

음악버튼 - 음악버튼(버튼색깔만 바꿈)-음악버튼(다시 처음상태로 안돌아옴)
martin_Mac (370 포인트) 님이 2013년 5월 2일 질문

1개의 답변

0 추천
  btn1.setOnClickListener(new Button.OnClickListener() {
   public void onClick(View v)
   {
                if(MP1.isPlaying()){
                btn1.setText("음악");
                MP1.pause();
                btn1.setBackgroundColor(Color.원래색);
                }else{
                btn1.setText("음악");
                btn1.setBackgroundColor(Color.RED);
                MP1.start();
                MP1.setLooping(true);
                }
            }
        });  

 

노예의집 (23,370 포인트) 님이 2013년 5월 2일 답변
감사합니다. 근데 제가 하고 싶은 건....
기본 버튼에서 다시 한번 버튼을 누르면 버튼 색깔만 변하게 하고 싶은데요...ㅠㅠ 그럼 색깔이 변한 버튼을 다시 누르면 기본 버튼으로 돌아오게 되면 되구요
MP1.isPlaying() -> 이걸 그냥 boolean 값 하나 선언해서 swap 시켜주면 되죠..
정서비님 말대로 flag값으로 처리하시면 될 거같네요~
...