android-帧动画(原地不动人再走路)

1.准备动画布局

<?xml version="1.0" encoding="utf-8"?>
<animation-list
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:oneshot="false"
    >
<!--    android:oneshot="false"  动画循环播放-->
    <item android:drawable="@mipmap/im1" android:duration="150"></item>
    <item android:drawable="@mipmap/im2" android:duration="150"></item>
    <item android:drawable="@mipmap/im3" android:duration="150"></item>
    <item android:drawable="@mipmap/im4" android:duration="150"></item>
    <item android:drawable="@mipmap/im5" android:duration="150"></item>
    <item android:drawable="@mipmap/im6" android:duration="150"></item>
    <item android:drawable="@mipmap/im7" android:duration="150"></item>
    <item android:drawable="@mipmap/im8" android:duration="150"></item>
</animation-list>

2.界面布局

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <ImageView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_centerInParent="true"
        android:id="@+id/max"
        android:src="@drawable/max"
        ></ImageView>

</RelativeLayout>

3.activity

package com.example.zhendonghua;

import androidx.appcompat.app.AppCompatActivity;

import android.graphics.drawable.AnimationDrawable;
import android.os.Bundle;
import android.widget.ImageView;

public class MainActivity extends AppCompatActivity {

    private ImageView imageView;
    private AnimationDrawable animationDrawable;//播放帧动画的对象
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        imageView=findViewById(R.id.max);//初始化图片
        animationDrawable= (AnimationDrawable) imageView.getDrawable();//获取动画对象

    }


    /**
     * 程序运行时
     * **/
    @Override
    protected void onResume() {
        super.onResume();
        animationDrawable.start();
    }
    /**
     * 当界面失去焦点
     *
     * 当系统调用你的activity中的onPause(),从技术上讲,那意味着你的activity仍然处于部分可见的状态,当时大多数时候,
     * 那意味着用户正在离开这个activity并马上会进入Stopped state. 你通常应该在onPause()回调方法里面做下面的事情:
     * 停止动画或者是其他正在运行的操作,那些都会导致CPU的浪费.
     * 提交没有保存的改变,但是仅仅是在用户离开时期待保存的内容(such as a draft email).
     * 释放系统资源,例如broadcast receivers, sensors (like GPS), 或者是其他任何会影响到电量的资源。
     * 例如, 如果你的程序使用Camera,onPause()会是一个比较好的地方去做那些释放资源的操作。
     * **/
    @Override
    protected void onPause() {
        super.onPause();
        animationDrawable.stop();
    }

    ;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

飞飞翼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值