首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏风吹杨柳

    AnimationDrawable 实现正在加载的旋转动画

    AnimationDrawable是实现Drawable animations的基本类。 推荐用XML文件的方法实现Drawable动画,不推荐在代码中实现。 animationDrawable = (AnimationDrawable)loadingImageView.getBackground(); loadingImageView.post 对象, 代码如下: rocketAnimation = (AnimationDrawable) rocketImage.getBackground(); start()方法不能在onCreate() 因为AnimationDrawable并未完全关联到Window, 在onCreate()方法中,View并未完成显示(同理,在此方法中测量某个View的宽高,常得到0值。 : android.graphic.drawable.AnimationDrawable   //获得我们xml定义的AnimationDrawable               animDrawable

    2.5K80发布于 2019-07-05
  • 来自专栏Android开发

    Android动画之帧动画

    animationDrawable; private Button btn_start; private Button btn_stop; private ImageView = new AnimationDrawable(); //2.为帧动画添加内容(在小人书里添加内容) animationDrawable.addFrame ); //其他操作,如,设置只执行一次 animationDrawable.setOneShot(true); : //停止动画 animationDrawable.stop(); break; } 2、布局中将 AnimationDrawable 对象直接作为背景 3.在Activity文件中进行操作(播放,停止)

    46800编辑于 2025-06-12
  • 来自专栏Android知识分享

    Carson带你学Android:关于逐帧动画的使用都在这里了!

    获取动画对象 animationDrawable = (AnimationDrawable) iv.getDrawable(); // 获取动画对象 animationDrawable = (AnimationDrawable) iv.getDrawable(); // // 直接从drawable文件夹获取动画资源(图片) animationDrawable = new AnimationDrawable(); for (int 获取资源对象 iv.setImageDrawable(animationDrawable); // 2. 停止动画 animationDrawable.stop(); } }); 4.

    1.1K40编辑于 2022-03-24
  • 来自专栏github@hornhuang

    Android 逐帧动画( Drawable 动画),这一篇就够了

    imageView_2 = findViewById(R.id.image_2); AnimationDrawable animationDrawable1 = new AnimationDrawable animationDrawable1.addFrame(getResources().getDrawable(R.drawable.iron_2 ),200); animationDrawable1 animationDrawable1.addFrame(getResources().getDrawable(R.drawable.iron_8 ),200); animationDrawable1 .setOneShot(true); imageView_2.setImageDrawable(animationDrawable1); animationDrawable1 animationDrawable = (AnimationDrawable) imageView_1.getDrawable(); animationDrawable.start()

    4.2K20发布于 2021-09-24
  • 来自专栏风吹杨柳

    2014-10-31Android学习------序列帧动画,开始,结束监听的解决--------GIF动画实现

    anim = (AnimationDrawable)getDrawable(); anim.start(); } /** * 带动画监听的播放 * @param resId * anim = (AnimationDrawable)getDrawable(); anim.start(); if(listener ! AnimationDrawable frameAnimation = (AnimationDrawable) img.getBackground(); // Start the animation AnimationDrawable frameAnimation = (AnimationDrawable) img.getBackground(); Drawable getDrawable( anim = (AnimationDrawable)getDrawable();//得到一个AnimationDrawable对象 anim.start();//然后启动动画 }

    1.8K30编辑于 2022-03-07
  • 来自专栏Linux内核深入分析

    Android 学习之逐帧动画(Frame)

    //将帧动画的资源文件设置为imageview的背景 iv.setBackgroundResource(R.drawable.frameanimation); c:获得AnimationDrawable 对象 //获取AnimationDrawable对象 AnimationDrawable ad = (AnimationDrawable) iv.getBackground //将帧动画的资源文件设置为imageview的背景 iv.setBackgroundResource(R.drawable.frameanimation); //获取AnimationDrawable 对象 AnimationDrawable ad = (AnimationDrawable) iv.getBackground(); //开始播放动画 ad.start

    1.1K30编辑于 2022-05-08
  • 来自专栏Android知识分享

    Android 逐帧动画:关于 逐帧动画 的使用都在这里了!

    设置动画 animationDrawable = (AnimationDrawable) iv.getDrawable(); // 2. 获取动画对象 animationDrawable.start(); // 3. 设置动画 animationDrawable = (AnimationDrawable) iv.getDrawable(); // 2. 获取动画对象 animationDrawable.stop(); // 3. (true); iv.setImageDrawable(animationDrawable); animationDrawable.stop

    2.4K30发布于 2019-02-22
  • 来自专栏ppjun专栏

    Android十八章:帧动画

    以imageview为载体可以在xml设置src和在类中用iamgeview.getDrawable获取AnimationDrawable,再调用start方法或者stop方法。 <? > </animation-list> 调用帧动画 写好xml文件我们就可以在类中通过以下方法来调用动画 mImageView.setImageResource(R.drawable.frame); AnimationDrawable drawable = (AnimationDrawable) mImageView.getDrawable(); drawable.start(); ```# 帧动画 下面我们来说什么是帧动画。 以imageview为载体可以在xml设置src和在类中用iamgeview.getDrawable获取AnimationDrawable,再调用start方法或者stop方法。 drawable = (AnimationDrawable) mImageView.getDrawable(); drawable.start();

    76510发布于 2018-09-05
  • 来自专栏三流程序员的挣扎

    Android 动画总结(2) - 帧动画

    image.backgroundDrawable = resources.getDrawable(R.drawable.frame_drawable_test) // getBackground() 取得 AnimationDrawable 对象 val animDrawable : AnimationDrawable = image.background as AnimationDrawable // 启动动画 animDrawable.start () // 作为 Resource image.imageResource = R.drawable.frame_drawable_test // getDrawable() 取得 AnimationDrawable 对象 val animDrawable2 : AnimationDrawable = image.drawable as AnimationDrawable animDrawable.stop() / / 停止动画 animDrawable2.start() 代码方式 val animDrawable = AnimationDrawable() animDrawable.isOneShot

    1.4K20发布于 2018-09-11
  • 来自专栏全栈程序员必看

    Animation的使用「建议收藏」

    变回最初的状态 repeatCount:重复的次数(不包括第一次) startOffset:距离动画开始的时间 repeatMode:1表示重新开始,2表示从最后一个状态往回逆序播放 帧动画: 实现方法 1.实例AnimationDrawable import android.annotation.SuppressLint; import android.app.Activity; import android.graphics.drawable.AnimationDrawable rotateAnimation); scaleAnimation.setStartOffset(10000); set2.addAnimation(scaleAnimation); /** * 帧动画 */ //第一种 //AnimationDrawable 间接继承Drawable AnimationDrawable ad = new AnimationDrawable(); Drawable frame1 = getResources().getDrawable ad1 = (AnimationDrawable) tv.getBackground(); ad1.start(); } @Override public void finish() { super.finish

    99920编辑于 2022-11-15
  • 来自专栏老欧说安卓

    Android开发笔记(十七)GIF动画的实现GifAnimation

    com.example.exmgif.util.GifImage.GifFrame; import android.app.Activity; import android.graphics.drawable.AnimationDrawable return getResources().getDrawable(id); } private void showFrameAnimation() { //帧动画需要把每帧图片加入AnimationDrawable 队列 AnimationDrawable animationList = new AnimationDrawable(); animationList.addFrame(getDraw(R.drawable.flow_p1 gifList = new AnimationDrawable(); for (int i=0; i<frameList.length; i++) { //BitmapDrawable用于把 》 3、NinePatchDrawable:详见《Android开发笔记(九)特别的.9图片》 4、TransitionDrawable:详见《Android开发笔记(十五)淡入淡出动画》 5、AnimationDrawable

    1.5K60发布于 2019-01-18
  • 来自专栏tea9的博客

    android-drawable子类介绍

    Drawable子类之——InsetDrawable (嵌入) ClipDrawable Drawable子类之——ClipDrawable (裁剪图像) ScaleDrawable RotateDrawable AnimationDrawable item android:drawable="@drawable/rocket_thrust3" android:duration="200" /> </animation-list> 我们可以看到,AnimationDrawable 我们可以通过编码来加载播放动画: // Load the ImageView that will host the animation and // set its background to our AnimationDrawable AnimationDrawable frameAnimation = (AnimationDrawable) img.getBackground(); // Start the animation frameAnimation.start(); 注意:AnimationDrawable. start()方法不能够在Activity的onCreate()方法中调用,因为AnimationDrawable

    83310编辑于 2022-07-16
  • 来自专栏俞其荣的博客

    带你实现仿美团的下拉刷新

    aniImageView.setImageResource(R.drawable.pull_end_imag_frame); AnimationDrawable animationDrawable = (AnimationDrawable) aniImageView.getDrawable(); // 只执行一次动画 animationDrawable.setOneShot(true); animationDrawable.start aniImageView.setImageResource(R.drawable.refreshing_image_frame); AnimationDrawable animationDrawable = (AnimationDrawable) aniImageView.getDrawable(); animationDrawable.start

    987140编辑于 2022-07-28
  • 来自专栏码客

    Android动画-Drawable Animation(帧动画)

    item> </animation-list> 这样图片就一层层的叠起来了 动画调用 public class MainActivity extends Activity { private AnimationDrawable findViewById(R.id.loading); loadingImg.setBackgroundResource(R.drawable.loading); loadingAnimation = (AnimationDrawable super.onWindowFocusChanged(hasFocus); if (hasFocus) loadingAnimation.start(); } } 需要注意的是,不能在onCreate()方法中调用AnimationDrawable 的start()方法,因为此时AnimationDrawable还未真正加载到界面中。

    1.3K10发布于 2019-10-22
  • 来自专栏学海无涯

    Android开发之帧动画

    帧动画最简单,通过顺序播放一系列的图像产生动画,有点类似动画片 以tomcat案例来讲解 1、首先准备好一组图片(网上找的现成的一组图片),然后定义一个AnimationDrawable,命名为ani.xml android:layout_height="match_parent" android:background="@drawable/ani" /> </RelativeLayout> 3、通过AnimationDrawable R.layout.activity_main); ImageView imageView = (ImageView) findViewById(R.id.imageView1); final AnimationDrawable background = (AnimationDrawable) imageView .getBackground(); imageView.setOnClickListener

    91680发布于 2018-04-24
  • 来自专栏李蔚蓬的专栏

    Android动画基础 | 概述、逐帧动画、视图动画

    item设置好每一个帧的图片以及对应的延时; 如此便定义好了AnimationDrawable对象; 接着使用AnimationDrawable, 在某个Activity或者fragment的布局文件中 ();获得view的背景Drawable对象并向下转型为AnimationDrawable对象, 然后赋给一个AnimationDrawable的实例变量引用; 使用AnimationDrawable 并编写如下代码: 代码中通过<animation-list>来定义AnimationDrawable对象, 一个animation-list便签对应(映射为)一个AnimationDrawable对象 , // 所以可以做一个强制转换(窄化、向下转型) animationDrawable = (AnimationDrawable)view.getBackground() ()返回的是一个Drawable对象, 在这里已经明确背景是AnimationDrawable, 所以可以做一个强制转换(窄化、向下转型); 后面是简单的点击事件: 使用AnimationDrawable

    4.9K21发布于 2019-05-14
  • 来自专栏Android开发

    Android中帧动画的简单实现

    第三步:在java文件中实现方法 起到主要作用的代码: animaion.setImageResource(R.drawable.animaion); AnimationDrawable drawable= (AnimationDrawable) animaion.getDrawable(); drawable.start();

    22800编辑于 2025-06-10
  • 来自专栏编程语言的世界

    Android 帧动画实现:用 XML 定义动态效果的完整指南

    Java 代码(MainActivity.java)import android.graphics.drawable.AnimationDrawable;import android.os.Bundle 对象,用于控制帧动画 private AnimationDrawable frameAnimation; @Override protected void onCreate(Bundle 从 ImageView 的背景中获取 AnimationDrawable 对象 frameAnimation = (AnimationDrawable) ivAnimation.getBackground ) ivAnimation.getBackground() 从 ImageView 的背景中提取 AnimationDrawable,该对象是帧动画的核心控制器;触发动画:在 onTouchEvent 检查这 3 点确认 AnimationDrawable 对象是否正确获取:需先设置 BackgroundResource,再获取背景,顺序不能颠倒;避免在 onCreate 中直接调用 start():

    50810编辑于 2025-09-24
  • 来自专栏Android-薛之涛

    Android-Animation 总结(一)

    第二步: 将xml文件用和AnimationDrawable关联。(我们是xml实现也可以代码实现,demo中有此处省略。。。。) AnimationDrawable mAnimationDrawable =(AnimationDrawable) getResources().getDrawable( R.drawable.anim_frame 然后初始化Imageview 在.setBackground(animationDrawable);即可。 完毕!

    47710发布于 2018-09-12
  • 来自专栏/root

    Android界面基本设置

    <item android:drawable="@drawable/f8" android:duration="80"/> </animation-list> ② 在main.java中创建AnimationDrawable 类 private AnimationDrawable animationDrawable; //初始化, animationDrawable= (AnimationDrawable) imageView.getBackground (); //开启 animationDrawable.start(); 7 日期控件 //时间控件 private Calendar calendar; private DatePickerDialog

    23810编辑于 2025-09-28
领券