Java 无法观察我的视图动画
我想做的是,将一个对象从一个位置移动(平移)到另一个位置,但具体使用以下方法。而且,它在某种程度上是按需要工作的,但现在发生的是,我无法看到实时变化 屏幕在一段时间内显示为空白,然后当对象到达android屏幕上的最终坐标时,显示该对象 我想看到实时变化。你能告诉我,我哪里出错了吗 Java文件Java 无法观察我的视图动画,java,android,multithreading,android-animation,thread-sleep,Java,Android,Multithreading,Android Animation,Thread Sleep,我想做的是,将一个对象从一个位置移动(平移)到另一个位置,但具体使用以下方法。而且,它在某种程度上是按需要工作的,但现在发生的是,我无法看到实时变化 屏幕在一段时间内显示为空白,然后当对象到达android屏幕上的最终坐标时,显示该对象 我想看到实时变化。你能告诉我,我哪里出错了吗 Java文件 package com.example.actualanimation; import android.app.Activity; import android.os.Bundle; import a
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");
}
}
}
}
<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>
package com.example.actualanimation;
导入android.app.Activity;
导入android.os.Bundle;
导入android.view.Menu;
导入android.view.MenuItem;
导入android.widget.ImageView;
公共类MainActivity扩展了活动{
@凌驾
创建时受保护的void(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ImageView im=(ImageView)findViewById(R.id.img_id);
对于(int i=0;i不使用视图位置来设置视图动画。在Android中设置视图动画所需的只是一个定义xml文件,然后在这里描述的startAnimation
视图方法中使用它:。您正在谈论tween动画。我知道这种类型的动画。因此,即使在我的问题中,我也提到了什么是t这样输出的可能原因是什么?然后你可以使用timer类来设置视图位置的动画,以摆脱Thread.sleep()。你在主UI线程上调用Thread.sleep(),这真是个糟糕的主意。所有UI都绘制在那里,你允许它因为睡眠而什么也不做。