我想要做的是,将一个对象从一个位置移动(转换)到另一个位置,但具体使用以下方法。并且,它在某种程度上需要工作,但正在发生的是,我无法看到实时的变化。
屏幕显示为空白一段时间,然后显示对象,当它到达Android屏幕上的最终坐标时。
我希望看到实时的变化。请你告诉我,我哪里出错了?
Java文件
package com.example.actualanimation;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.ImageView;
public class MainActivity extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ImageView im=(ImageView)findViewById(R.id.img_id);
for(int i=0;i<100;i++)
{
im.setY(im.getY()+1);
try
{
Thread.sleep(10);
}
catch(Exception e)
{
System.out.print("Done");
}
}
}
}
我的假设是,当&#34; Thread.sleep(10)&#34;调用它,它将主线程进入睡眠模式,这发生在下一个100循环中。然后,最后当循环执行结束时,对象显示在最终状态。
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.actualanimation.MainActivity" >
<ImageView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:id="@+id/img_id"
android:src="@drawable/ic_launcher"/>
</RelativeLayout>
答案 0 :(得分:0)
请勿使用视图位置为您的观看设置动画。在Android中为视图设置动画所需的只是一个定义的xml文件,然后在startAnimation
视图方法中使用它,如下所述:https://developer.android.com/guide/topics/graphics/view-animation.html。