анимированная кнопка переключения
Я создал анимированный тумблер, и он прекрасно работает, еслиandroid:checked="true"
то есть: играется с 1-9, но еслиandroid:checked="false"
он застрял на 10, но он должен играть с 10-20. С тех пор он работает отлично, но когда приложение запускается, у него есть вышеуказанная проблема.
Почему он застрял на 10-й позиции, когда на самом деле он должен быть равным 20, поскольку это окончательное изображение. (Выкл.) В настоящее время, когда он застрял на 10, похоже, что он все еще включен.
///////////////////
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();
}
}
});