I have created animated toggle and it works perfect if android:checked="true"
ie: it plays drawable from 1-9 but if android:checked="false"
its stuck at drawable 10 but it should play from 10-20 .It works perfect from then on but when the app starts it has the above problem .
Why is it stuck at drawable 10 when in reality it should be at 20 as that is the final image.(Off) currently as its stuck at 10 it looks like its still ON .
///////////////////
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();
}
}
});