为什么ImageView会在动画中消失?

时间:2015-04-02 05:36:23

标签: android animation android-animation objectanimator

我正在尝试使用Property Animation演示流星动画,但失败了。我的演示很简单: 1.创建一个具有开始按钮的MainActivity。 2.单击开始按钮以启动MeteorActivity 3. MeteorActivity有一个相对布局内容视图,其中包含一个位于布局中间/中心的简单星形ImageView。 4.在MeteorActivity的onResume方法中,我启动属性动画以将ImageView的“top”属性从0更改为1000。 问题是星形从顶部边缘落下,直到它到达其原始位置(布局的中间)。它消失了!!!!有人可以帮忙吗?

MeteorActivity:

public class MeteorActivity extends Activity implements ValueAnimator.AnimatorUpdateListener{

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_meteor);
}

@Override
protected void onResume() {
    super.onResume();
    startMeteor();
}

private void startMeteor() {
    ImageView imageView = (ImageView) findViewById(R.id.starImageView);
    ObjectAnimator anim = ObjectAnimator.ofInt(imageView, "top", 0, 1000);
    anim.setDuration(10000);
    anim.addUpdateListener(this);
    anim.start();
}

@Override
public void onAnimationUpdate(ValueAnimator valueAnimator){
    ImageView imageView = (ImageView) findViewById(R.id.starImageView);
    Log.d("ImageView:Height:", Integer.valueOf(imageView.getTop()).toString());
}

}

Layout.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" >

<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/starImageView"
    android:src="@drawable/meteor"
    android:layout_centerHorizontal="true"/>

1 个答案:

答案 0 :(得分:1)

嗨请更新您的布局,我发布了以下内容,让我们试试这个

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <ImageView
        android:id="@+id/starImageView"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:layout_centerHorizontal="true"
        android:contentDescription="@string/app_name"
        android:src="@drawable/ic_launcher" />

</RelativeLayout>

当你需要停止动画时,还有一点让我知道。

谢谢。