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();
}
}
});