首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

按钮在Android中将背景显示为AnimationDrawable

是一种常用的动画效果,可以通过一系列的图片帧来创建动画。AnimationDrawable是Android提供的一个Drawable子类,可以在XML或代码中定义动画,并将其设置为按钮的背景。

AnimationDrawable可以通过逐帧动画来展示一系列图片,从而创建动态效果。每一帧都可以设置持续时间,以控制动画的速度。可以通过添加帧、设置帧的持续时间和启动动画来实现按钮背景的动画效果。

AnimationDrawable的分类是Drawable,它继承自Drawable类。优势是简单易用,可以通过添加多个帧来创建复杂的动画效果。它适用于需要展示一系列图片帧的场景,比如按钮点击时的动画效果、加载中的动画等。

AnimationDrawable的应用场景包括但不限于:

  1. 按钮点击时的动画效果:可以通过AnimationDrawable来实现按钮点击时的动画效果,比如按钮背景逐渐变亮或变暗、按钮背景颜色渐变等。
  2. 加载中的动画:可以使用AnimationDrawable来展示加载中的动画效果,比如旋转的加载图标、闪烁的加载文字等。
  3. 自定义动画效果:通过AnimationDrawable可以自定义各种动画效果,根据需求来展示不同的动画效果。

腾讯云相关产品中,可以使用腾讯云移动推送(https://cloud.tencent.com/product/tpns)来实现消息推送功能,通过推送消息可以触发按钮点击时的动画效果。同时,腾讯云移动推送还提供了丰富的消息推送功能和统计分析功能,可以满足移动应用的推送需求。

总结:按钮在Android中将背景显示为AnimationDrawable是一种常用的动画效果,可以通过一系列的图片帧来创建动画。AnimationDrawable是Android提供的一个Drawable子类,适用于需要展示一系列图片帧的场景,比如按钮点击时的动画效果、加载中的动画等。腾讯云移动推送可以用来实现消息推送功能,触发按钮点击时的动画效果。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

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

这句话: com.wust.citylist.activity.MyLetterListView 这样做就把我们自己定义的视图当做一个控件显示布局上了,这个时候我们就可以去处理它的监听事件了 5....创建系列帧动画最简单的方法就是XML文件中去定义动画,把它们放在文件夹下,res/drawable/folder(folder是可以自己定义的,也可以不要这个文件),把他们设置一个视图对象的背景。...你可以它的解释, // 得到背景,这个背景已经被编译成为一个AnimationDrawable对象 Drawable getBackground()...android:duration :动画的时间长度,以毫秒单位,来显示该帧, 它是定义item中的 3....android:oneshot :如果true,那么该动画将执行运行一次,然后停止 它是定义中的 了解了这些,我们接下来就需要去写自己的动画了

1.4K30

android-drawable子类介绍

) 当StatListDrawable资源作为组件的背景或者前景Drawable资源时,可以随着组件状态的变更而自动切换相对应的资源,例如,一个Button可以处于不同的状态(按钮按下、获取焦点) 我们可以使用一个...--android:state_pressed 是否按下,如一个按钮触摸或者点击。..." /> 我们可以看到,AnimationDrawable资源文件以元素根,包含一系列的节点,每一个节点定义了一个帧(frame)及持续时常。...上述动画运行了3个帧,通过设置android:oneshot 属性(attribute)true,动画会循环一次并停留在最后一帧,如果false那么会轮询(loop)的运行动画 我们可以通过编码来加载播放动画...frameAnimation.start(); 注意:AnimationDrawable. start()方法不能够Activity的onCreate()方法中调用,因为AnimationDrawable

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

    AnimationDrawable是实现Drawable animations的基本类。 推荐用XML文件的方法实现Drawable动画,不推荐代码中实现。...XML文件的指令(即属性)动画播放的顺序和时间间隔。  XML文件中元素根节点,节点定义了每一帧,表示一个drawable资源的帧和帧间隔。...设置false则动画循环播放。文件可以添加为Image背景,触发的时候播放。...使用:     方式1:Drawable Animation本身就是一个Drawable资源文件,所以直接在xml中设置指定View的背景即可。animation.start().    ...因为AnimationDrawable并未完全关联到Window, onCreate()方法中,View并未完成显示(同理,在此方法中测量某个View的宽高,常得到0值。

    2.1K80

    动画那点小秘密

    前言 Android应用开发中我们每天都在接触动画(Activity开、关,页面滑动、点击按钮等都有动画效果),但入门容易,真正做好很难。如果要把效果做得自然、看上去很爽需要你有一定的美感。...2 帧动画   帧动画是一帧一帧的显示动画效果。创建帧动画除了通过xml中用animation-list作为根节点、item定义每一帧要显示的图片之外,也可以用Java代码的形式来创建帧动画。...但GIF只能显示256色。   ...SVG格式具备目前网络流行的jpg和png等格式无法具备的优势:可以任意放大图形显示,但绝不会以牺牲图像质量代价;可在SVG图像中保留可编辑和可搜寻的状态;平均来讲,SVG文件比其它格式的图像文件要小很多...),为了降低功耗,尽量控制动画的大小,以及动画出现的时机,最好是用户触发某个操作后执行动画效果,不要一进入界面就执行动画; 谨慎使用AnimationDrawable5.0之前会很耗内存;并且AnimationDrawable

    89620

    Android动画效果-更新中

    然后,第一个按钮监听器中设置了动画的持续时间,之后启动该动画。第二个按钮监听器中取消该动画 ?...然后,第一个按钮监听器中分别设置了动画的持续时间,并通过addAnimation方法添加到动画集中,之后启动该动画。 第二个按钮监听器中取消该动画。...然后,res/drawable目录下新建一个帧动画配置文件,并将其设置图片控件的背景。...然后,第一个按钮监听器中使用addFrame方法添加了动画帧,之后直接调用start方法来开始动画执行,第二个按钮监听器中直接调用stop方法来停止动画执行 ?...比如,一个按钮做平移的动画,虽然按钮的确做了平移,但按钮可点击的区域并没随着平移而改变,还是原来的位置。

    3.7K20

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

    ), 可以理解,它事先加载好了一系列的图片; 和普通的Drawable一样,它可以被设为视图对象的背景; 最简单的定义逐帧动画的方法, drawable文件夹下新建一个xml文件; xml...将定义好的AnimationDrawable对象(drawable/xml's name——)设置进来作为View控件的背景布局文件对应的Java代码处,实例化这个...View控件; 通过(AnimationDrawable)view.getBackground();获得view的背景Drawable对象并向下转型AnimationDrawable对象, 然后赋给一个...break; } } } 实例化方才设置了AnimationDrawable背景的View对象; 使用view实例getBackground()获得背景; view.getBackground...最后, 可以看到帧动画默认是对设置好的一系列帧图做循环往复的播放的, 可以Activity.java中,通过animationDrawable.setOneShot(true); 将动画设置只播放这套帧图一次

    4K21

    帧动画和补间动画

    逐帧显示一张图片,连起来成为动画 res/drawable/目录下,创建一个xxx.xml的文件 添加节点,设置是否循环android:oneshot:”false”...添加条目节点,设置资源android:drawable=”@drawable/xxx” 设置执行时间,android:duration=”100” 逐帧添加对应的图片 获取ImageView...对象,通过findViewById() 调用ImageView对象的setBackgroundResource()设置背景资源,参数:资源文件 调用ImageView对象的getBackground()...方法获取到AnimationDrawable对象 getBackground()方法是异步的一个单独的线程里面执行的,因此,有时候,下面的代码是播放不了的,建议放在按钮点击事件里,或者屏幕触摸事件里...调用AnimationDrawable对象start()方法,开始播放 tween动画 透明度 获取AlphaAnimation对象,new AlphaAnimation(),参数:从0.0f透明度,

    74220

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

    一般场景下很少使用,工作中遇到的是有时会有背景色,用若干颜色值变化,有时一个 View 要弹跳,其实是做好了若干切图,图片大小一致,但里面的内容处于不同位置,然后播放起来看着好像是弹跳。...xml 方式 res/anim 目录创建动画 xml 文件。其中一个 代表一帧。 <?xml version="1.0" encoding="utf-8"?...:oneshot 用于控制动画是否循环播放, true 只播放一次并停留在最后一帧,默认是 false,循环播放的。...// 作为 Background image.backgroundResource = R.drawable.test // 设置背景资源 // or // image.backgroundDrawable...animDrawable : AnimationDrawable = image.background as AnimationDrawable // 启动动画 animDrawable.start(

    91320

    安卓开发_浅谈Android动画(三)

    一、LayoutAnimation布局动画 用于一个layout里面的控件,或者是一个ViewGroup里面的控件设置动画效果 res-anim文件下新建一个动画xml文件 1 <?...  使用步骤: 1、res下创建drawable文件夹创建资源文件 xx.xml (名字随便取) 有个属性 android:oneshot="false" 判断是否重复播放帧动画,默认false  表示循环播放...类 (1)找到要显示动画的ImageView控件 imageView = (ImageView) findViewById(R.id.imageView); (2)给图片控件设置资源 imageView.setBackgroundResource...(R.drawable.waiting_anim); //将帧动画资源文件作为View控件背景 (3)获取AnimationDrawable 类对象 AnimationDrawable rocketAnimation...= (AnimationDrawable) imageView.getBackground(); //获取背景并强转成为帧动画对象 (4)启动动画 rocketAnimation.start(); 效果图

    60240

    Android各种各样的Drawable-更新中

    只需InsetDrawable设置一个insetXxx设置不同 方向的边距,然后为设置Dialog的背景即可! ?...也就是level的大小从0到10000,level0时完全不显示10000时完全显示。是用Drawable提供的setLevel(int level)方法来设置剪切区域。 ?...Code 主布局文件中设置一个ImageView,将src设置clipDrawable!...0.5 pivotY:设置参照点的Y坐标,取值0~1,默认是50%,即0.5 ps:如果出现旋转图片显示不完全的话可以修改上述两个值解决!...StateListDrawableAndroid中使用的非常广泛,所有控件的背景基本上都使用了StateListDrawable,比如按钮就具有很多状态,按下状态、选中状态、默认状态、禁用状态等等,像这样不用的状态下显示效果不一样的时候

    99130

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

    作用对象 视图控件(View) 如Android的TextView、Button等等 不可作用于View组件的属性,如:颜色、背景、长度等等 ---- 2....步骤2:设置 & 启动 动画 设置 & 启动 逐帧动画有两种方式:XML / Java代码。...方式1:XML实现 步骤1: res/anim的文件夹里创建动画效果.xml文件 此处路径res/anim/knight_attack.xml 步骤2:设置动画资源(图片资源) knight_attack.xml...animation-list> 步骤3:Java代码中载入 & 启动动画 public class FrameActivity extends AppCompatActivity { private...animationDrawable.stop(); // 特别注意:动画start()之前要先stop(),不然第一次动画之后会停在最后一帧,这样动画就只会触发一次

    1.9K30

    Android 动画笔记

    视图动画只能操纵少数几个属性,例如缩放比例、旋转角度等,许多属性,例如背景颜色,就没法通过视图动画进行操作,属性动画更加通用。...视图动画仅仅修改了绘制位置,并没有实际修改属性值,例如用视图动画实现一个按钮移动的效果,按钮可以正确移动,但是用户点按按钮的位置却没有改变。...="500" android:valueTo="1f"/> 为了运行这个动画,你需要在运行这个动画集合前代码中将这个 XML 资源填充到 AnimatorSet 对象里,...通过将 android:oneshot 属性设置 true 来使得动画仅播放一次并停在最后一帧。如果设定为 false,那么这个动画就会循环播放。...假设这段 XML 被保存在 res/drawable/ 目录下的 rocket_thrust.xml 文件里,那么它就可以像下面的例子一样添加进 View 对象的背景并在被触控时开始播放: AnimationDrawable

    22920

    android的Drawable详解

    >//设置区域背景的渐变效果 //设置区域的背景颜色,如果设置了solid会覆盖gradient的效果 //设置区域的边框效果...:gravity="center" /> AnimationDrawable animationDrawable就是动画的,这个是按帧播放的那种。...使用起来也非常简单,xml文件中使用animation-list作为根节点定义AnimationDrawable,使用item设置需要播放的每一帧使用的drawable资源,以及每一帧持续的时间即可。...之后需要主动调用AnimationDrawable的start播放动画,需要注意的是,当我们Activity的oncreate方法中调用start方法时会没有任何效果,那是因为view还没有完成初始化...虽然有时候可能出现交错的情况,但是由于位于不同的层,显示上 也是不会有任何影响的。 <?xml version="1.0" encoding="utf-8"?

    85750
    领券