2012-12-10 3 views
-2

문제가 있습니다. 상태에 따라 단추의 모양을 변경하는 방법을 모르겠습니다.단추 상태가 상태에 따라 다릅니다.

xml의 표준 모양이 작동하지 않으며 기본값이 작동하지 않습니다. 당신이 이미지에 대한 선택과 ImageButton을 찾고있는 것처럼

{ 
    button1 = (Button) findViewById(R.id.button5); 

    button1.setOnTouchListener(new OnTouchListener() { 

     @Override 
     public boolean onTouch(View v, MotionEvent event) { 

       switch (event.getAction()) 
       { 
        case MotionEvent.ACTION_DOWN: 
         mp[0] = loadSample(1); 
         mp[0].start(); 
         break; 
        case MotionEvent.ACTION_UP: 
         mp[0].stop(); 
         //mp.reset(); 
         mp[0].release(); 
         break; 
       } 
     return true; 
     } 
    }); 
} 
+2

MP는 무엇입니까? 모양을 어디에서 바꾸려고하십니까? – adarsh

+1

MediaPlayer 나는 생각할 것이다. – AedonEtLIRA

+0

가능한 [XML을 통한 클릭시 Android 단추 변경 배경 만들기] (http://stackoverflow.com/questions/4125774/make-an-android-button-change-background-on-click-through-xml) – Matthieu

답변

1

는 소리가 난다. 이를 통해 주어진 버튼에 대해 pressed, focusednormal 상태를 정의 할 수 있습니다.

예제는 API 페이지에서 바로 가져옵니다. 아래에 구현되면 Android는 사용자가 정의한 선택기를 기반으로 버튼의 현재 상태에 맞는 이미지를 자동으로 선택합니다. http://developer.android.com/reference/android/widget/ImageButton.html

drawable 폴더에 XML로 :

<?xml version="1.0" encoding="utf-8"?> 
    <selector xmlns:android="http://schemas.android.com/apk/res/android"> 
     <item android:state_pressed="true" android:drawable="@drawable/button_pressed" /> <!-- pressed --> 
     <item android:state_focused="true" android:drawable="@drawable/button_focused" /> <!-- focused --> 
     <item android:drawable="@drawable/button_normal" /> <!-- default --> 
    </selector> 
0

당신이 XML이 그런 짓을 했습니까?

<selector 
    xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item android:drawable="@drawable/myButtonYellow" 
     android:state_pressed="true" /> 
    <item android:drawable="@drawable/myButtonNotYellow" /> 
</selector> 

안드로이드 : 그것 누른 상태에 따라 달라질 수 있도록 state_pressed = "true"로 라인을 설정합니다. 국가의 전체 목록은 here을 찾을 수 있습니다

을 myButton는 다음과 같이 정의된다 :

<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle" > 

    <corners android:radius="4dp" /> 

    <solid android:color="@color/yellow" /> 

    <padding 
     android:bottom="7dp" 
     android:left="12dp" 
     android:right="12dp" 
     android:top="7dp" /> 

    <stroke 
     android:width="1dp" 
     android:color="@color/white" /> 

</shape> 
관련 문제