首页 > 其他分享 >Android 帧动画 的实现

Android 帧动画 的实现

时间:2023-11-24 11:06:08浏览次数:34  
标签:xml 动画 文件 实现 id import Android android



文章目录

  • 1、帧动画
  • 2、文件结构
  • 3、activity_main.xml 文件
  • 4、frameanimation.xml 文件 自定义的 动态文件
  • 5、ManiActivity 文件


1、帧动画

Android 帧动画 的实现_xml

2、文件结构

Android 帧动画 的实现_android_02

1)activity_main 定义一个 img ,两个 按钮
2)frameanimation.xml 文件 加载的自定义的 动画文件
3)ManiActivity 文件 主要功能实现地方

3、activity_main.xml 文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
    android:orientation="vertical"
    tools:context="com.example.lum.myapplication.MainActivity">

<ImageView
    android:id="@+id/img_id"
    android:layout_width="100dp"
    android:layout_height="100dp" />

    <Button
        android:id="@+id/start_id"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="开始"/>


    <Button
        android:id="@+id/stop_id"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="停止"/>
</LinearLayout>
4、frameanimation.xml 文件 自定义的 动态文件
<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
    android:oneshot="false">

    <item android:drawable="@drawable/test" android:duration="500"/>
    <item android:drawable="@drawable/timg" android:duration="500"/>
    <item android:drawable="@drawable/test" android:duration="500"/>
    <item android:drawable="@drawable/timg" android:duration="500"/>
    <item android:drawable="@drawable/test" android:duration="500"/>
    <item android:drawable="@drawable/timg" android:duration="500"/>
    <item android:drawable="@drawable/test" android:duration="500"/>
    <item android:drawable="@drawable/timg" android:duration="500"/>
    <item android:drawable="@drawable/test" android:duration="500"/>
    <item android:drawable="@drawable/timg" android:duration="500"/>


</animation-list>
5、ManiActivity 文件
package com.example.lum.myapplication;

import android.annotation.SuppressLint;
import android.graphics.drawable.AnimationDrawable;
import android.media.Image;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.animation.Animation;
import android.widget.Button;
import android.widget.ImageView;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    private String TAG = "MainActivity: ";
    private AnimationDrawable animationDrawable;
    private Button buttonStart,buttonStop;

    @SuppressLint("ResourceType")
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        buttonStart = (Button) findViewById(R.id.start_id);
        buttonStop = (Button) findViewById(R.id.stop_id);
        buttonStart.setOnClickListener(this);
        buttonStop.setOnClickListener(this);

        //获取显示动画 view
        ImageView image = (ImageView) findViewById(R.id.img_id);
        //设置图片背景为动画
        image.setBackgroundResource(R.anim.frameanimation);
        //获取 刚设置的 背景Drawable 转化为 AnimationDrawable 对象
        animationDrawable = (AnimationDrawable) image.getBackground();

    }

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.start_id:
                animationDrawable.start();
                break;
            case R.id.stop_id:
                animationDrawable.stop();
                break;
                default:
                    break;
        }
    }
}

Android 帧动画 的实现_xml_03

文章参考:
《Android 典型技术模块开发详解》

本人郑重声明,本博客所编文章、图片版权归权利人持有,本博只做学习交流分享所用,不做任何商业用途。访问者可將本博提供的內容或服务用于个人学习、研究或欣赏,不得用于商业使用。同時,访问者应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人的合法权利;如果用于商业用途,须征得相关权利人的书面授权。若文章、图片的原作者不愿意在此展示內容,请及时通知在下,將及时予以刪除。


标签:xml,动画,文件,实现,id,import,Android,android
From: https://blog.51cto.com/u_15866638/8546061

相关文章

  • Android 观察者模式
    文章目录1、观察者模式简介2、观察者模式的定义3、观察者模式的使用场景4、观察者模式的UML类图5、观察者模式的简单实现1)文件结构2)DevTechFrontier被观察者文件3)Coder观察者文件4)MainActivity文件5、打印log6、运用思路1、观察者模式简介观察者模式使用最多的地方是GUI......
  • Android Alpha 更改图片透明度
    文章目录1、功能描述2、代码架构3、activity_main.xml文件4、alpha_out.xml透明度属性文件5、MainActivity.java逻辑功能文件1、功能描述实现图片透明度的改变点击之后两个图片透明度的改变实现方式不一样1)一个是加载anmixml文件里定义好的透明度改变动画2)一个是再代码......
  • Android 状态模式 接口的调用(interface)
    文章目录1、状态模式介绍2、状态模式的定义3、状态模式的使用场景4、状态模式的UML类图5、状态模式的简单示例6、代码结构1)TvStateOperate接口文件2)、PowerOnState开机状态下操作3)、PowerOffState关机状态下操作过程4)、PowerController电视状态设定接口5)、TvControlle......
  • Android 责任链模式
    文章目录1、责任链模式简介2、责任链的定义3、责任链的使用场景4、责任链模式的UML类图5、责任链模式的简单实现1)示例简介2)示例分析3)代码结构4)Leader文件5)GroupLeader文件6)、Director文件7)、Manager文件8)Boss文件9)、MainActivity文件10)打印log1、责任链模式简介将每个节......
  • Android 策略模式 接口的调用
    文章目录1、策略模式介绍2、使用场景3、UML类图4、策略模式的简单实现1)文件结构2)CalculateStrategy接口文件3)BusStrategy公交收费策略4)地铁收费策略5)MainActivity调用不同收费策略6)log打印1、策略模式介绍1)实现某一功能可能会有不同的算法,不同的策略。我们根据不同的实际情......
  • 代码雨的实现 linux or html
    文章目录1、linux代码雨的实现2、html文件实现1、linux代码雨的实现执行1)sudoapt-getinstallcmatrix2)cmatrix效果:2、html文件实现1)新建文件test.html2)复制一下代码<!DOCTYPEhtml><html><head><metacharset="utf-8"><title>Code......
  • Android widget简介及demo
    文章目录1、简介2、文件结构3、res->xml->appwidget_info.xml4、main_activity.xml5、AndroidManifest.xml6、MyWidget.java7、WidgetService.java8、MainActivity.java1、简介实现桌面小部件2、文件结构1)appwidget_info.xml定义了widget一些属性2)AndroidManifest.xml定义w......
  • Android 动态申请 权限 permission
    文章目录1、单个权限动态申请1)文件结构2)在AndroidManifest.xml添加权限3)在代码里进行权限检查和申请2、多个权限动态申请1)在AndroidManifest.xml添加权限2)、CheckPermission文件3)在MainActivity文件里面调用CheckPermission1、单个权限动态申请以SD卡读写权限......
  • Android典型技术模块开发详解 pdf 资料
    文章目录1、介绍2、章节介绍1、介绍Android典型技术模块开发详解适合刚步入Android开发的工作者,对于Android各个模块能够很好、很全面的讲解。2、章节介绍Android典型技术模块开发详解pdfAndroid典型技术模块开发详解代码文献参考:《Android典型技术模块开发详解》......
  • Android MVC 模式的介绍 与 实战
    文章目录1、mvc框架图2、MVC在Android模式里的实现4、小结1、mvc框架图经典的mvc模式如图所示1)Model(模型层)在MVC中Model一般用来保存数据的状态,比如数据存储,网络请求。同时还与View存在一定的耦合,通过某种事件机制(比如观察者模式)通知View状态的改变来让view更......