botão de alternância animado
Eu criei alternância animada e funciona perfeito seandroid:checked="true"
ie: joga drawable de 1-9 mas seandroid:checked="false"
está preso em drawable 10, mas deve jogar de 10-20. Ele funciona perfeito a partir de então, mas quando o aplicativo inicia, tem o problema acima.
Por que é preso em drawable 10 quando na realidade deve estar em 20 como esta é a imagem final (Off) atualmente como seu preso em 10 parece que ainda está 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();
}
}
});