动画切换按钮

问题描述 投票:2回答:1

我创建了动画切换,如果android:checked="true"可以完美地工作,即:它在1-9范围内可绘制,但如果android:checked="false"处于可绘制10位置,但应该在10-20处可以播放。当应用启动时,它会遇到上述问题。

为什么它停留在可绘制的10上,而实际上它应该是20,因为这是最终图像。(Off)当前是因为它停留在10上,看起来仍然是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();
                    }

            }
        });
android toggle android-animation
1个回答
0
投票

您必须将文件从“ animatedbutton_OFF.xml”重命名为“ animatedbutton_off.xml”。然后从“ animated_button_on.xml”到“ animatedbutton_on.xml”

© www.soinside.com 2019 - 2024. All rights reserved.