问题标签 [animationdrawable]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
372 浏览

android - 当我在 ListView 项目中启动一个 AnimationDrawable 时,其他一些 AnimationDrawable 启动

在ListView 的每一项中,都有一个ImageView。我已经用 AnimationDrawable 设置了它的 ImageDrawable。当 ResultReceiver 收到结果时,AnimationDrawable 启动或停止。

这是我的代码:

这是我的问题:

当一个 AnimationDrawable 启动时,其他列表项中的其他一些 AnimationDrawable 也会启动,但不是全部。

感谢您分享的任何帮助/建议或经验。

0 投票
1 回答
423 浏览

android - AnimationDrawable 线程跳帧

我在一个 Activity 中,它必须在加载其余内容时播放 AnimationDrawable(“加载”动画)。我在另一个线程中开始了动画,因为动画往往会给主线程很多工作,但是动画无法正确显示,并且 Logcat 多次显示已跳过 40 帧左右。明天我会发布代码,抱歉延迟。同时是什么原因造成的?所有线程内部都是动画drawable的启动方法。

0 投票
0 回答
274 浏览

android - 使用 AnimationDrawable 启动活动时出现白屏

我有一个具有介绍动画的应用程序,动画显示完美,但是在启动应用程序时,一个带有 actionBar 的白屏(带有动画的活动将 actionBar 隐藏在它的 onCreate 中)显示了几秒钟。完成动画后,会发生 Intent 并更改活动。它不会在 logcat 中引发任何错误,也不会导致任何其他问题。可能是什么问题?

我的代码:

0 投票
0 回答
332 浏览

android - AnimationDrawable 没有播放。不从 onCreate 调用

这真的很奇怪,它可以在 Nexus 5 中播放,但在所有其他手机中都不起作用。请看我的代码,它肯定不会在 onCreate 中启动动画。

我可以看到第一帧。

0 投票
0 回答
981 浏览

android - 使用 AnimationDrawable 单击时为自定义 CheckedTextView 设置动画

我想在我的复选框中添加某种材质外观。我希望可绘制的复选标记使用自定义可绘制对象从一种状态动画到另一种状态。我尝试为 an ImageView(以查看它是否有效)和 a CheckedTextView(这是我真正需要的)制作动画。

为了做到这一点,我在布局中创建了两个视图,并android:onClick分别设置为自定义方法animateImage(View v)animateChecked(View v). 我的问题是第二个不起作用,尽管两者之间的唯一区别是我如何获取和设置我需要的可绘制对象。

布局.xml

活动

当然,在这两种方法中都使用的animation_checkbox_on是具有静态 png 和持续时间的动画列表 xml 资源。我想让它尽可能简单(甚至没有实现“如果检查”语句)。

如前所述:第一种方法有效并且 ImageView 得到正确的动画;第二种方法不起作用,复选标记保持不动。我的代码中是否存在某种概念错误,或者我在某处错了?我怎样才能在CheckedTextView标记上进行这项工作?我没有收到来自 Android Studio 的任何警告。谢谢你。

/drawable/animation_checkbox_on

编辑: 我注意到动画列表中的第一项实际上已加载。此外,如果我删除该行ad.start()(!),结果是相同的。

它看起来像setCheckMarkDrawable或者getCheckMarkDrawable只返回动画列表的第一项,从而使无效ad.start(),并将动画转换为简单的可绘制开关。如果这是真的,那么问题将是如何为 CheckedTextView 设置动画。在应用下一个可绘制对象之前,我已经阅读了有关手动暂停线程一段时间的信息,但这对我来说似乎不是最好的选择。

0 投票
0 回答
221 浏览

android - java.lang.nullpointerexception 应用程序在 DrawableAnimation 上崩溃

屏幕幻灯片活动代码:

我在 src 文件夹结构下有 4 个名为 screenview 1/2/3/4.java 的单独文件

ScreenView1.java 代码:

在@drawable 文件夹中,我有一个名为 anim.xml、anim2.xml 等的文件,每个屏幕视图都有单独的文件。每个动画文件都有作为动画运行的 .png 文件。anim1,anim2 工作得很好。

我的应用程序在 anim3.xml 上使用以下 logcat 崩溃:

12-05 03:23:10.598: D/libEGL(4012): 加载 /system/lib/egl/libEGL_mali.so

12-05 03:23:10.608: D/libEGL(4012): 加载 /system/lib/egl/libGLESv1_CM_mali.so

12-05 03:23:10.618: D/libEGL(4012): 加载 /system/lib/egl/libGLESv2_mali.so

12-05 03:23:10.668: D/OpenGLRenderer(4012): 启用调试模式 0

12-05 03:23:12.730: D/dalvikvm(4012): GC_FOR_ALLOC 释放 2481K,18% 释放 13574K/16387K,暂停 39ms,总共 55ms

12-05 03:23:12.840: D/dalvikvm(4012): GC_FOR_ALLOC 释放 4K,9% 释放 15070K/16387K,暂停 49ms,总共 58ms

12-05 03:23:12.870:I/dalvikvm-heap(4012):将堆(碎片情况)增加到 25.380MB,分配 3456016 字节

12-05 03:23:13.040: D/dalvikvm(4012): GC_CONCURRENT 释放 4K,7% 释放 18477K/19783K,暂停 30ms+3ms,总共 170ms

12-05 03:23:24.552: D/dalvikvm(4012): GC_FOR_ALLOC 释放 1561K,14% 释放 17903K/20679K,暂停 22ms,总共 24ms

12-05 03:23:24.562:I/dalvikvm-heap(4012):将堆(碎片情况)增加到 26.731MB,分配 1971232 字节

12-05 03:23:24.632: D/dalvikvm(4012): GC_CONCURRENT freed 4279K, 23% free 19196K/24647K, paused 13ms+3ms,总共38ms

12-05 03:23:24.682: D/dalvikvm(4012): GC_FOR_ALLOC 释放 1712K,18% 释放 20265K/24647K,暂停 15ms,总共 16ms

12-05 03:23:24.692:I/dalvikvm-heap(4012):将堆(碎片情况)增加到 29.038MB,分配 1971232 字节

12-05 03:23:24.752: D/dalvikvm(4012): GC_CONCURRENT 释放 856K,13% 释放 24972K/28615K,暂停 12ms+3ms,总共 35ms

12-05 03:23:24.802: D/dalvikvm(4012): GC_FOR_ALLOC 释放 1711K,15% 释放 26042K/30599K,暂停 17ms,总共 17ms

12-05 03:23:24.802:I/dalvikvm-heap(4012):将堆(碎片情况)增加到 34.679MB,分配 1971232 字节

12-05 03:23:27.665: D/dalvikvm(4012): GC_FOR_ALLOC 释放 1731K,14% 释放 29917K/34567K,暂停 21ms,总共 21ms

12-05 03:23:27.725: D/dalvikvm(4012): GC_FOR_ALLOC 释放 857K,13% 释放 31841K/36551K,暂停 18ms,总共 18ms

12-05 03:23:27.775: D/dalvikvm(4012): GC_FOR_ALLOC 释放 855K,13% 释放 33767K/38535K,暂停 17ms,总共 17ms

12-05 03:23:27.825: D/dalvikvm(4012): GC_FOR_ALLOC 释放 855K,12% 释放 35693K/40519K,暂停 20ms,总共 20ms

12-05 03:23:29.917: D/AndroidRuntime(4012): 关闭虚拟机

12-05 03:23:29.917: W/dalvikvm(4012): threadid=1: 线程以未捕获的异常退出 (group=0x414d9318)

12-05 03:23:29.937:E/AndroidRuntime(4012):致命异常:主要

12-05 03:23:29.937: E/AndroidRuntime(4012): java.lang.NullPointerException

12-05 03:23:29.937: E/AndroidRuntime(4012): 在 android.support.v4.app.FragmentStatePagerAdapter.instantiateItem(FragmentStatePagerAdapter.java:116)

12-05 03:23:29.937: E/AndroidRuntime(4012): 在 android.support.v4.view.ViewPager.addNewItem(ViewPager.java:837)

12-05 03:23:29.937: E/AndroidRuntime(4012): 在 android.support.v4.view.ViewPager.populate(ViewPager.java:1053)

12-05 03:23:29.937: E/AndroidRuntime(4012): 在 android.support.v4.view.ViewPager.populate(ViewPager.java:919)

12-05 03:23:29.937: E/AndroidRuntime(4012): 在 android.support.v4.view.ViewPager$3.run(ViewPager.java:249)

12-05 03:23:29.937: E/AndroidRuntime(4012): 在 android.view.Choreographer$CallbackRecord.run(Choreographer.java:725)

12-05 03:23:29.937: E/AndroidRuntime(4012): 在 android.view.Choreographer.doCallbacks(Choreographer.java:555)

12-05 03:23:29.937: E/AndroidRuntime(4012): 在 android.view.Choreographer.doFrame(Choreographer.java:524)

12-05 03:23:29.937: E/AndroidRuntime(4012): 在 android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:711)

12-05 03:23:29.937: E/AndroidRuntime(4012): 在 android.os.Handler.handleCallback(Handler.java:615)

12-05 03:23:29.937: E/AndroidRuntime(4012): 在 android.os.Handler.dispatchMessage(Handler.java:92)

12-05 03:23:29.937: E/AndroidRuntime(4012): 在 android.os.Looper.loop(Looper.java:137)

12-05 03:23:29.937: E/AndroidRuntime(4012): 在 android.app.ActivityThread.main(ActivityThread.java:4744)

12-05 03:23:29.937: E/AndroidRuntime(4012): 在 java.lang.reflect.Method.invokeNative(Native Method)

12-05 03:23:29.937: E/AndroidRuntime(4012): 在 java.lang.reflect.Method.invoke(Method.java:511)

12-05 03:23:29.937: E/AndroidRuntime(4012): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)

12-05 03:23:29.937: E/AndroidRuntime(4012): 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)

12-05 03:23:29.937: E/AndroidRuntime(4012): at dalvik.system.NativeStart.main(Native Method)

有人请解释我在这里做错了什么......

编辑:

anim3.xml 代码:

tutorial.xml(在 screenview1.java 中调用:

0 投票
1 回答
786 浏览

android - 从扩展 APK 中的图像创建动画

所以我想创建一些动画 ImageViews,如下所述:

http://developer.android.com/reference/android/graphics/drawable/AnimationDrawable.html

但是,我一直在搜索,但找不到有关此主题的任何内容。动画列表中的项目是否可以是扩展 APK 文件(zip 文件)中的图像。我已经知道如何从扩展 APK 文件中获取图像,但我想知道是否可以以某种方式将其放入动画列表中,或者以编程方式,或者只是在 XML 文件中以某种方式引用。

所以我的问题是这是否可能?以及(如果可能的话)我将如何去做这件事?

0 投票
6 回答
13951 浏览

android - Android:AnimationDrawable 转换错误

我正在关注 Google 提供的如何将 AnimationDrawable 与 ImageView 一起使用的示例。你可以在这里找到它:http: //developer.android.com/guide/topics/graphics/drawable-animation.html

当我运行它时,我收到错误:

谷歌似乎认为这应该可行,但如果你不能将 BitmapDrawable 转换为 AnimationDrawable 我不确定这应该如何工作?

0 投票
0 回答
105 浏览

android - 带有暂停、前进和后退手势的可绘制动画

我不想制作像 DrawableAnimation 这样的东西来显示图像序列。这个 Drawable 动画可以自动播放,也可以通过手势识别来管理向前和向后读取、减慢或暂停动画等……我没有发现在可绘制动画中向后读取的可能性。如何做到这一点,任何想法?或者也许是一个链接到一个做类似事情的tuto。谢谢。

0 投票
0 回答
438 浏览

android - AnimationDrawable 滞后

我正在使用两个空隙来制作动画,因为我需要在同一个屏幕上制作不同的动画。这个动画适用于不同的 ImageViews。当我将这两个 ImageViews 同时添加到主屏幕时。他们开始但落后。但是,如果我对不同的 ImageViews 使用相同的动画,则没有问题。为什么会发生这种滞后我使用线程来调用。只有 2 个 ImageViews 和位图非常小,只有 3 帧。

编辑: 这是一个从 eclipse 到 android studio 的导出项目。我只是在android studio中打开新的空项目并手动复制粘贴所有代码和资源,而不是正常工作。