gpt4 book ai didi

android - 在 Button 中动画化 Drawable 变化

转载 作者:行者123 更新时间:2023-11-29 21:36:55 25 4
gpt4 key购买 nike

我有一个 Button,其中有一个 BitmapDrawable 和一行文本。这无关紧要,但我的可绘制对象位于我的文本“上方”,该文本对应于顶部的第三个按钮。

Examples of using setCompundDrawablesWithIntrisicBounds

drawable 设置使用:

BitmapDrawable top = new BitmapDrawable(mContext.getResources(), Bitmap.createScaledBitmap(buttonContent.content, 
mContext.IMAGE_WIDTH, mContext.IMAGE_HEIGHT, false));

button.setCompoundDrawablesWithIntrinsicBounds(null, top.getCurrent(), null, null);

我最初设置的图像在一些事件后发生变化,我希望图像变化是动画的。我的布局中已经有了 android:animateLayoutChanges=true 字段。

我最初的猜测是创建一个自定义 Button 类。但我想知道是否有其他方法可以解决我的问题?

最佳答案

您可以为可绘制对象本身设置动画。 TransitionDrawable允许在层之间交叉淡入淡出(setCrossFadeEnabled(true)),您可以通过类似的方式开始过渡

((TransitionDrawable) button.getCompoundDrawables()[INDEX]).startTransition(MILLIS);

基于 Animatable 的旧答案:参见 "Drawable Animation" documentation .您也可以将该技术用于复合绘图。

使用类似的东西开始动画

((Animatable) button.getCompoundDrawables()[INDEX]).start();

或者在不从 XML 设置可绘制对象时保持对 Animatable 的引用。

关于android - 在 Button 中动画化 Drawable 变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18234613/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com