animierte Umschalttaste

Ich habe animierte Toggle erstellt und es funktioniert perfekt, wennandroid:checked="true" dh: es spielt ziehbar von 1-9 aber wennandroid:checked="false" Es steckt bei Drawable 10, sollte aber von 10 bis 20 spielen. Es funktioniert von da an perfekt, aber wenn die App startet, hat es das obige Problem.

Warum bleibt es bei Drawable 10 hängen, wenn es in Wirklichkeit bei 20 liegen sollte, da dies das endgültige Bild ist. (Aus) Derzeit bleibt es bei 10 hängen und es sieht so aus, als ob es immer noch eingeschaltet ist.

///////////////////

btn_toggle.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="true"  android:drawable="@drawable/animatedbutton_on" />
            <item android:state_checked="false"  android:drawable="@drawable/animatedbutton_off" />
</selector>

////////////////////

main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <ToggleButton
        android:id="@+id/ToggleButton01"
        android:layout_width="174dp"
        android:layout_height="235dp"
        android:background="@drawable/btn_toggle_bg"
      android:checked="false"
       />

////////////////////////////

btn_toggle_bg.xml

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+android:id/background" android:drawable="@android:color/transparent" />
    <item android:id="@+android:id/toggle" android:drawable="@drawable/btn_toggle" />
</layer-list>

</LinearLayout>

////////////

animated_button_on.xml

<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="true" >
    <item android:drawable="@drawable/1" android:duration="200" />
 <item android:drawable="@drawable/2" android:duration="200" />
 <item android:drawable="@drawable/3" android:duration="200" />
  <item android:drawable="@drawable/4" android:duration="200" />
 <item android:drawable="@drawable/5" android:duration="200" />
     <item android:drawable="@drawable/6" android:duration="200" />
 <item android:drawable="@drawable/7" android:duration="200" />
 <item android:drawable="@drawable/8" android:duration="200" />
     <item android:drawable="@drawable/9" android:duration="200" />
 </animation-list>

//////////////////

animatedbutton_OFF.xml

    <?xml version="1.0" encoding="utf-8"?>
    <animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="true" >
      <item android:drawable="@drawable/a14" android:duration="200" />
     <item android:drawable="@drawable/a15" android:duration="200" />
         <item android:drawable="@drawable/a16" android:duration="200" />
     <item android:drawable="@drawable/a17" android:duration="200" />
     <item android:drawable="@drawable/a18" android:duration="200" />
         <item android:drawable="@drawable/a19" android:duration="200" />
         <item android:draw

able="@drawable/a20" android:duration="200" />
 </animation-list>

///////////////

CustomToggleButtonDemo.java

public class CustomToggleButtonDemo extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);


        ToggleButton tg=(ToggleButton)findViewById(R.id.ToggleButton01);
        tg.setOnCheckedChangeListener(new OnCheckedChangeListener() {

            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                // TODO Auto-generated method stub

                 if (isChecked) {
                        // The toggle is enabled
                     Toast.makeText(getBaseContext(), "ON", 5).show();
                    } else {
                        // The toggle is disabled
                        Toast.makeText(getBaseContext(), "off", 5).show();
                    }

            }
        });

Antworten auf die Frage(1)

Ihre Antwort auf die Frage