问题标签 [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 投票
1 回答
759 浏览

android - Android AnimationDrawable 返回空指针异常

我的主要目标是让它有一个最初是黑暗的“按钮”,当按下它时,它会循环播放它的动画,就像进度条一样顺时针方向点亮。但我似乎根本无法让动画绘制工作。

我的 xml 动画名为 squareanimation,位于 res 目录中的可绘制资源文件夹中

我的布局中有我的 ImageView

然后我有我的活动

这些只是我的代码片段

每次我运行我的程序时,无论我清理或重建多少次,程序都不会改变 squareanimation 为空。如果我运行 squareanimation.start() 方法,它会使程序崩溃。

我的图像都是 128 像素 * 128 像素的 PNG 格式,如果这有任何改变的话。我所有的图像都存储在 drawable-hdpi 文件夹中。

0 投票
1 回答
750 浏览

android - 从 Android 的一组图像创建视频

我正在开发一个适用于 android 的应用程序,它在开始时从视频创建视频文件,然后是一组图像,然后保存它。有没有办法做到这一点?

我尝试了 JCodec,它有损坏的库、网络上不受信任的代码以及缺乏关于这个库的知识。

我尝试了 FFMpeg,它在 android 上不够受支持,并且涉及使用 NDK。

我尝试使用 AnimationDrawable 创建动画并将此动画另存为视频,但除了使用 KITKAT 4.4 的功能外,我找不到将动画另存为视频的方法,但它需要连接到计算机并具有根。

使用上述方法是否有任何其他解决方案或受信任和解释的方法来做到这一点?

预先感谢

0 投票
2 回答
426 浏览

android - Android:在 AnimationDrawable 上禁用纹理过滤/插值

我有一个逐帧的AnimationDrawable缩放,我想在没有 Android 默认的模糊插值的情况下进行缩放。(这是像素​​艺术,最近邻看起来更好。)我可以设置一个标志吗?覆盖onDraw?有什么可以告诉 GPU 不要使用纹理过滤吗?

我是否需要放大动画中的每个单独的位图?这似乎是对 CPU 和纹理内存的浪费。

代码示例:

0 投票
1 回答
443 浏览

android - 不要停止列表视图中的动画

我正在使用 AnimationDrawable 下载进度条我将动画放在 getview 中,它工作正常。但是当我滚动列表时,动画已经停止。AnimationDrawable 中是否有任何方法可以解决此问题。就像 Dialog 中的 setCancelable 一样。

请帮助我...谢谢

截屏:

在此处输入图像描述

0 投票
0 回答
287 浏览

android - AnimationDrawable 不适用于三星 S3 mini

我遇到了一个问题:我的应用程序中的 AnimationDrawable 在我的 Nexus 4 (Android 4.4.2) 上完美运行,但在我的三星 Galaxy S3 (4.1.2) mini 上却无法启动。有谁知道如何解决这个问题?

问候尼尔斯

我的Java代码:

AnimationDrawable xml 文件:

0 投票
0 回答
501 浏览

android - AnimationDrawable 崩溃应用

因此,我创建了动画列表并设置了按钮,但是当我单击调用动画方法的按钮时,应用程序关闭并显示“不幸的是,测试已停止工作”。

我相信问题出在动画方法上,但不知道它是什么,并尝试了几种不同的方法来解决它。

任何人都可以看到这种方法的问题吗?

如果它真的很简单,我也很抱歉,我没有做过太多的 Android 编程。虽然我之前做过动画,但效果很好。

谢谢

0 投票
0 回答
1458 浏览

android - 通过动画Drawable播放动画时内存不足错误?

我有近 1000 张图像需要通过 Animation Drawable 显示。我已经在 windows 焦点更改方法中启动了一个动画。当我按下下一个按钮时,应该显示下一个图像动画(仅使用一个活动)。它显示下一个动画 8 到 10 次,但之后它崩溃并给出错误 06-28 06:03:43.312: E/AndroidRuntime(12468): java.lang.OutOfMemoryError: 位图大小超出 VM 预算。

我已经在 Android 中第二次运行时提到了这个 Animation Drawable 导致 OutOfMemoryError但我不知道如何集成它,我也尝试了这种Best Way to Animate images in an frame in Android。我也经历了这个http://developer.android.com/training/displaying-bitmaps/index.html但我仍然卡住了......请帮助我......

0 投票
0 回答
512 浏览

android - 帧动画中的 OutofMemory 错误

我开发了一个导游应用程序。一些类有帧动画。3 个带有帧动画的活动效果很好。但是如果单击另一个类似的活动,则会出现内存泄漏错误。图像从 Drawables 文件夹加载。整个可绘制文件夹包含 3.58 MB。我不明白为什么它会给出这个错误。请帮助解决这个问题。提前致谢。

这是我的日志猫。

08-18 10:45:14.585: E/dalvikvm-heap(9523): 6444816 字节分配内存不足。

prio=5 tid=1 可运行 08-18 10:45:14.585: I/dalvikvm(9523): | group="main" sCount=0 dsCount=0 obj=0x41e46578 self=0x41cc9938 08-18 10:45:14.585: I/dalvikvm(9523): | sysTid=9523 nice=-16 sched=0/0 cgrp=apps handle=1074774012 08-18 10:45:14.585: I/dalvikvm(9523): | state=R schedstat=(4068370710 523035518 4253) utm=308 stm=98 core=0

08-18 10:45:14.585: I/dalvikvm(9523): 在 android.graphics.BitmapFactory.nativeDecodeAsset(Native Method) android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:596)

08-18 10:45:14.585: I/dalvikvm(9523): 在 android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:444)

08-18 10:45:14.585: I/dalvikvm(9523): 在 android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:832)

08-18 10:45:14.585: I/dalvikvm(9523): 在 android.content.res.Resources.loadDrawable(Resources.java:2988) android.content.res.TypedArray.getDrawable(TypedArray.java:602) 08 -18

android.widget.ImageView.(ImageView.java:131) 08-18

android.widget.ImageView.(ImageView.java:121) 08-18

java.lang.reflect.Constructor.constructNative(Native Method) 08-18

java.lang.reflect.Constructor.newInstance(Constructor.java:417) 08-18

android.view.LayoutInflater.createView(LayoutInflater.java:600) 08-18 10:45:14.585: I/dalvikvm(9523): at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56 ) 08-18 10:45:14.585: I/dalvikvm(9523): 在 android.view.LayoutInflater.onCreateView(LayoutInflater.java:675)

android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:700)

android.view.LayoutInflater.rInflate(LayoutInflater.java:761) 08-18

android.view.LayoutInflater.rInflate(LayoutInflater.java:769) 08-18

android.view.LayoutInflater.inflate(LayoutInflater.java:498) 08-18

android.view.LayoutInflater.inflate(LayoutInflater.java:398) 08-18

android.view.LayoutInflater.inflate(LayoutInflater.java:354) 08-18

com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:361) 08-18 10:45:14.585: I/dalvikvm(9523): 在

D / AndroidRuntime(9523):关闭VM 08-18 10:45:14.590:W / dalvikvm(9523):threadid = 1:线程退出但未捕获异常(组= 0x41e45700)08-18 10:45:14.595:E /AndroidRuntime(9523): 致命异常: main 08-18 10:45:14.595: E/AndroidRuntime(9523): java.lang.RuntimeException: 无法启动活动 ComponentInfo{com.isuru.allaboutkataragama/com.isuru.allaboutkataragama. Kabiliththa_Dewalaya}:android.view.InflateException:二进制 XML 文件第 53 行:膨胀类 08-18 10:45:14.595 时出错:E/AndroidRuntime(9523):

com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)

android.view.LayoutInflater.onCreateView(LayoutInflater.java:675) 在 android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:700) 在 android.view.LayoutInflater.rInflate(LayoutInflater.java:761) 08-18 在 android。 view.LayoutInflater.rInflate(LayoutInflater.java:769) 08-18 at android.view.LayoutInflater.inflate(LayoutInflater.java:498) 08-18 at android.view.LayoutInflater.inflate(LayoutInflater.java:398) 08- 18 在 android.view.LayoutInflater.inflate(LayoutInflater.java:354) 08-18 在 com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:361) 在 android.app.Activity.setContentView(Activity .java:1956) 08-18 在 com.isuru.allaboutkataragama.Kabiliththa_Dewalaya.onCreate(Kabiliththa_Dewalaya.java:57) 在 android.app.Activity.performCreate(Activity.java:5372) 08-18 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1104) 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2257)

10:45:14.595:E/AndroidRuntime(9523):由:java.lang.reflect.InvocationTargetException 08-18 10:45:14.595:E/AndroidRuntime(9523):在 java.lang.reflect.Constructor.constructNative(本机方法)08-18 在 java.lang.reflect.Constructor.newInstance(Constructor.java:417) 08-18 在 android.view.LayoutInflater.createView(LayoutInflater.java:600) 08-18

E/AndroidRuntime(9523):引起:java.lang.OutOfMemoryError 08-18

android.graphics.BitmapFactory.nativeDecodeAsset(Native Method) 08-18

android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:596)

android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:444)

android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:832)

android.content.res.Resources.loadDrawable(Resources.java:2988) 08-18

android.content.res.TypedArray.getDrawable(TypedArray.java:602) 08-18

android.widget.ImageView.(ImageView.java:131) 08-18

android.widget.ImageView.(ImageView.java:121)

这是我的代码

我的xml布局

动画列表

0 投票
1 回答
303 浏览

android - 为 Android AnimationDrawable PNG 序列提供资源的最佳做法是什么?

我已经为各种屏幕密度的启动加载器动画创建了一系列 PNG。我正在使用 AnimationDrawable 并在 XML 文件中创建了动画。每种密度的 PNG 序列为 30 帧长。在每个序列 5 个密度和 220kb 时,我的 res 文件夹开始变得太大。

有没有一种更有效的方法可以在不压缩 PNG 的情况下为这个 PNG 序列提供资源?如果我只提供 xxhdpi 大小,它会缩小这些 PNG 以适应更小的屏幕吗?这里的最佳做法是什么?

0 投票
2 回答
2094 浏览

java - Android - releasing allocated memory AnimationDrawable is using up

I have a complex Battle system which has 1 parent Activity and then several child classes which access the static variables of the BattleActivity by extending Battle and passing the context to those classes.

This all seems to be working fine, however I am having an issue with releasing all my AnimationDrawables from memory. There can be a total of 24 DrawableAnimations used throughout a battle. This is ok for now, however every time the user encounters a new monster then 4 more AnimationDrawables are added to memory which will slowly but surley cause my App to Crash with anb Out of Memory exception.

Therefore, I really need to find a way to release all the memory my battle system takes up as soon as I exitit. Currently, I am testing on a Sony Z2 and when the user enters a battle the mmeory increases from 91mb to 230mb. I need to get this memory usage back down to 91mb when the battle has compelted. I have added some very basic code snippet to give you an idea of how the app currently flows and what I am trying to do to release the memory.