4


我的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"
android:weightSum="100" >

<!-- top -->

  <LinearLayout
    android:id="@+id/top_container"
    android:layout_width="fill_parent"
    android:layout_height="0dip"
    android:layout_weight="60"
    android:background="@drawable/xxx" >

  </LinearLayout>

<!-- bottom -->

  <TableLayout
    android:id="@+id/bottom_container"
    android:layout_width="fill_parent"
    android:layout_height="0dip"
    android:layout_weight="40"
    android:background="@drawable/yyy"
    android:padding="20dip"
    android:stretchColumns="1"
    android:weightSum="2" >

    <TableRow>

     </TableRow>
   </TableLayout>
 </LinearLayout>

动画文件 trans_from_bottom.xml

 <translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/linear_interpolator"
    android:duration="1000"
    android:fromYDelta="100%"
    android:toYDelta="0%" />

动画文件 trans_from_top.xml

<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/linear_interpolator"
    android:duration="1000"
    android:fromYDelta="-100%"
    android:toYDelta="0%" />

trans_back_to_top.xml

<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/linear_interpolator"
    android:duration="1000"
    android:fillAfter="true"
    android:fromYDelta="0%"
    android:toYDelta="-100%" />

trans_back_to_bottom.xml

 <translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/linear_interpolator"
    android:duration="1000"
    android:fillAfter="true"
    android:fromYDelta="0%"
    android:toYDelta="100%" />

简单的类如下代码行

    topCont =(LinearLayout)findViewById(R.id.top_container);
    botCont =(TableLayout)findViewById(R.id.bottom_container);

    Animation   slidedown = AnimationUtils.loadAnimation(A.this, R.anim.trans_from_top);
    topCont.setAnimation(slidedown);

    Animation   slideup = AnimationUtils.loadAnimation(A.this, R.anim.trans_from_bottom);
    botCont.setAnimation(slideup);


    topCont.setOnClickListener(new OnClickListener(){
        @Override
        public void onClick(View arg0) {

            Animation   slideup = AnimationUtils.loadAnimation(A.this, R.anim.trans_back_to_top);
            topCont.setAnimation(slideup);


            Animation   slidedown = AnimationUtils.loadAnimation(A.this, R.anim.trans_back_to_bottom);
            botCont.setAnimation(slidedown);



        }
    });

我试图给出一个水平进出类型的动画,点击事件动画没有得到想要的结果。请建议出了什么问题?

4

1 回答 1

17

我得到了答案,而不是 setAnimation 使用 startAnimation,一切都按需要正常工作。

于 2012-09-06T05:58:24.260 回答