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

selector를 시작/정지/시작 을 표시하고 싶습니다.

0 추천

 

비디오뷰의 미디어 컨트롤러를 직접 만들기위해 버튼을 만들던 도중에... 3가지 이미지를 표현해야 하는 상황이 왔습니다.

그래서 selector를 구현했습니다

<selector  xmlns:android="http://schemas.android.com/apk/res/android">
      <item android:state_pressed="true"
          android:drawable="@drawable/start_c"/>
     
       <item android:state_selected="true"
             android:drawable="@drawable/pause"/>
      
         <item
             android:drawable="@drawable/start"/>
             
 </selector>

pause 는 일시정지 이미지

start 는 재생시 이미지

start_c는 버튼을 눌렀을때 이미지 입니다. 

 str_but= (ImageButton)findViewById(R.id.start);
  str_but.setOnClickListener(new View.OnClickListener() {
   
   @Override
   public void onClick(View v) {
    switch(v.getId()){
    case R.id.start:
     str_but.setSelected(true);
     break;
    }
    vv.pause();

   }
  });

이렇게 해서 [시작버튼 - 시작버튼 눌림 - 정지] 를 표시하는데 성공했습니다.

그런데... 반대로 하려니 갑자기 복잡해졌습니다;; 일단 selector 까지는 구현을 했는데... 이걸 위에 코드처럼 표시할 수 있는 방법을 모르겠습니다.

[정지 - 정지버튼 눌림 - 시작버튼]

이미 xml상에 strat_pause란 seletor.xml을 써버렸는데... 어떻게 하죠?

CEL (1,140 포인트) 님이 2014년 1월 12일 질문
CEL님이 2014년 1월 12일 수정

1개의 답변

+1 추천
 
채택된 답변
str_but.setSelected(false);

만 해줘도 되지 않나요?

쎄미 (162,410 포인트) 님이 2014년 1월 13일 답변
CEL님이 2014년 1월 17일 채택됨
어떻게 하다보니 90% 정도는 해결됬습니다.
다만... 정지버튼에서 누르면 시작버튼이 표시되는 것만 제외하면 말이죠 하하...
...