屏幕上的图像动画

时间:2014-10-19 00:12:10

标签: android .net

我正在尝试创建一个应用,在第一个屏幕中,图像(应用程序的名称)飞入背景,并固定到某个位置。我是android的新手,非常感谢任何帮助。

我尝试过使用setAnimationListener()

    public class Pageone extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.fragment_main);

    final ImageView imageView=(ImageView)findViewById(R.id.image);
    Animation anim1 = new TranslateAnimation(0, 0, 1024, 824);
    anim1.setDuration(3000);
    anim1.setFillAfter(true);

    anim1.setAnimationListener(new Animation.AnimationListener() {
                @Override
                public void onAnimationStart(Animation animation) {

                }

                @Override
                public void onAnimationEnd(Animation animation) {
                    Animation anim2 = new TranslateAnimation(0, 0, 824, 1024);
                    anim2.setDuration(3000);
                    anim2.setFillAfter(true);
                    imageView.clearAnimation();
                    imageView.startAnimation(anim2);
                }

                @Override
                public void onAnimationRepeat(Animation animation) {

                }
            });


    imageView.startAnimation(anim1);


    }
    }

和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"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.meeting.MainActivity$PlaceholderFragment"
    android:background="@drawable/tapregister" >

    <ImageView
    android:id="@+id/image"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"
    android:src="@drawable/meet"
     />





    </RelativeLayout>'

在Android虚拟设备管理器中运行应用程序时,我发现图像已经固定,如布局部分所示。

1 个答案:

答案 0 :(得分:0)

您不需要两个动画来完成您想要的操作。您只需要一个动画将ImageView从Bottom移动到屏幕中心。

因此,请删除anim1.setAnimationListener()代码。将Ydelta值更改为从位置Y + 300(例如)开始,并在位置Y + 0(您的布局原始位置)结束。这会将您的ImageView放在屏幕底部,比初始位置低300 px并将其移动到中心,这就是您的布局初始位置。像这样:

final ImageView imageView=(ImageView)findViewById(R.id.image);
Animation anim1 = new TranslateAnimation(0,0,300,0);
anim1.setDuration(3000);
anim1.setFillAfter(true);
imageView.startAnimation(anim1);