我将android启动画面设置到我的应用程序,这样我可以在点击它到加载屏幕后直接移动(这是一个帧动画)。问题是我的应用程序在点击我的启动屏幕时直接关闭。你能告诉我我的课程有什么问题吗?
这是我的主要活动代码:
package test.com.myapplication;
import android.app.Activity;
import android.graphics.drawable.AnimationDrawable;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.Toast;
public class MyActivity extends Activity {
private AnimationDrawable frameAnimation;
private ImageView view;
ImageButton start;
RelativeLayout background;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my);
start = (ImageButton) findViewById(R.id.startup);
view = (ImageView) findViewById(R.id.imageAnimation);
frameAnimation = (AnimationDrawable) view.getBackground();
start.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
frameAnimation.start();
}
});
}
}
和我创建的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:id="@+id/back"
tools:context=".MyActivity">
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/startup"
android:id="@+id/startup"
/>
<ImageView
android:id="@+id/imageAnimation"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:adjustViewBounds="true" />
</RelativeLayout>
和动画文件
<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/frame01" android:duration="210"/>
<item android:drawable="@drawable/frame02" android:duration="210"/>
<item android:drawable="@drawable/frame03" android:duration="210"/>
<item android:drawable="@drawable/frame04" android:duration="210"/>
<item android:drawable="@drawable/frame05" android:duration="210"/>
<item android:drawable="@drawable/frame06" android:duration="210"/>
</animation-list>
答案 0 :(得分:0)
如果要在ImageView中运行动画,则必须使用动画文件设置ImageView的背景属性。
<ImageView
android:id="@+id/imageAnimation"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:background="@drawable/animation" />