android:帧动画

前置条件:

1.首先在res/drawable目录下放入几张图片(注意图片不能用阿拉伯数字命名这里以one,two,three,four,否则在R.java文件中会报错)。

2.同样在res/drawable目录下建立animation1.xml文件,文件主要用来控制帧动画的循环次数:

android:oneshot="false"

另外还有控制播放的图片:

 <item android:drawable="@drawable/one" android:duration="150"></item>  
 <item android:drawable="@drawable/two" android:duration="150"></item>  
  <item android:drawable="@drawable/three" android:duration="150"></item>  
  <item android:drawable="@drawable/four" android:duration="150"></item> 

放在节点<animation-list>        </animation-list>的中间

3.main.xml中是对界面的布局,包括imageview,和两个button

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

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="46dp"
        android:src="@drawable/four" 
        android:contentDescription="帧动画图片"/>
<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/linearlayout1"
    android:orientation="horizontal"
    >
</LinearLayout>

<Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/imageView1"
    android:layout_below="@+id/imageView1"
    android:layout_marginTop="34dp"
    android:text="@string/Begin" />

<Button
    android:id="@+id/button2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/button1"
    android:layout_alignBottom="@+id/button1"
    android:layout_alignParentRight="true"
    android:text="@string/End" />

</RelativeLayout>

4.接下来就是对mainactivity.java的编写

package com.example.bujiandonghua;

import android.os.Bundle;
import android.app.Activity;
import android.graphics.drawable.AnimationDrawable;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.animation.Animation;
import android.widget.Button;
import android.widget.ImageView;

public class MainActivity extends Activity {
 private AnimationDrawable animationDrawable;

 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  final ImageView imageView=(ImageView)findViewById(R.id.imageView1);
  Button button1=(Button)findViewById(R.id.button1);
  Button button2=(Button)findViewById(R.id.button2);
  button1.setOnClickListener(new OnClickListener() {

   @Override
   public void onClick(View arg0) {
    // TODO Auto-generated method stub

   //设置资源文件获取的来源
    imageView.setImageResource(R.drawable.animation1);
    //  // 获取AnimationDrawable对象 
    animationDrawable=(AnimationDrawable)imageView.getDrawable();
    animationDrawable.start();
   }
  });
  button2.setOnClickListener(new OnClickListener() {

   @Override
   public void onClick(View arg0) {
    // TODO Auto-generated method stub
    imageView.setImageResource(R.drawable.animation1);
    animationDrawable=(AnimationDrawable)imageView.getDrawable();
    animationDrawable.stop();
   }
  });
 }

 @Override
 public boolean onCreateOptionsMenu(Menu menu) {
  // Inflate the menu; this adds items to the action bar if it is present.
  getMenuInflater().inflate(R.menu.activity_main, menu);
  return true;
 }

}

 

 

 

android:帧动画,,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。