问题标签 [android-graphics]

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 回答
64 浏览

android - 渐变不平滑

我想立即注意到,我在这里提出问题之前已经搜索并尝试了不同的解决方案,但是唉......也许有人会告诉你用哪种方式挖掘或给出如何解决的建议,本质如下:

当我尝试实现渐变,而不是什么类型的本质(线性、径向...)时,由于某种原因,渐变本身的质量很差,即从一种颜色到另一种颜色没有平滑过渡。

模块的代码像 github 上的要点一样排列:https://gist.github.com/SpaceMotion/fcdb8cd4e234b1d32afcd65b877d8dfe.

先感谢您!

0 投票
1 回答
65 浏览

android - path.reset() 和 create new 有什么区别?

在 Android android.graphics.Path 中,最好使用相同的路径实例并执行 path.reset() 还是在绘制新事物时创建一个新的路径实例(new Path())?

有什么不同吗?

0 投票
0 回答
136 浏览

android - AnimationDrawable 不能应用于 android.graphics.drawable.ColorDrawable[]

我试图实现一个动画,使线性布局的背景在两种颜色之间摆动。

我用这段代码来测试一个转换,它有效:

holder.mItem_Rowholder 包含我正在谈论的线性布局的“getElementById”结果。

由于转换只允许转换,而不是循环,我读到我需要使用 AnimationDrawable 函数,来自同一个库(android.graphics.drawable.AnimationDrawable)

我测试了以下代码:

AnimationDrawable trans = new AnimationDrawable(color);但我在声明的那一行出现错误AnimationDrawable cannot be applied to android.graphics.drawable.ColorDrawable[]

知道为什么吗?理论上,“TransitionDrawable”和“AnimationDrawable”的构造函数都需要一个“android.graphics.drawable”...

谢谢!

0 投票
2 回答
22 浏览

android - JPEG 按预期占用约 20 倍的空间

我在我的 Android 应用程序中使用了一个 jpeg,它占用了 1.6 MB 的磁盘空间(在 OSX 上)。我注意到应用日志中的垃圾收集器警告,并在 Android Studio 中进行了堆转储。在 36.5 MB 的保留堆大小中,我的主页片段(这是带有 jpeg 的那个)占用了 36 MB。

我在 Memory Analyzer Tool (MAT) 中加载了堆转储,并看到一个 android.graphics.Bitmap 在堆中占用了 36 MB 的空间。它的属性视图不显示文件名,但尺寸与 1.6 MB jpeg 的尺寸相匹配。

垫一般视图

MAT 属性视图

磁盘上占用不到 2 MB 的图像如何在 Android 应用程序的堆上占用 36 MB?

谢谢

0 投票
1 回答
24 浏览

android - 重新加载片段时位图消失

重新加载片段时,构成片段背景的位图会消失。如果用户转到另一个片段并返回到这个片段,它就可以正常工作。使用 Android Navigation 完成重新加载 - 使用对同一片段的导航调用。图形代码用于降低位图大小以减少堆空间使用。

这是片段代码:

这是XML

0 投票
1 回答
250 浏览

java - 为自定义 seekBar 动态更改 LinearGradient 颜色比例

我创建了一个带有自定义LinearGradient可绘制对象的搜索栏。但是,我希望能够更改每种颜色的渐变比例,这里我使用 3 种颜色,如果positions是,它们会均匀分布null。实际上,我想要的是为每种颜色提供宽度或比例,例如更改红色比例并将其设置为0% 到 10%seekBar width.

在这里,我想设置 0% 到 10% 红色、10% - 80% 黄色和 80% 到 100% 红色,并且能够动态更改每种颜色的宽度值。

这可能吗,如果可以,有人可以指导我如何做吗?

我的代码

图像可以从当前设置中看到,它与我描述的不同。

在此处输入图像描述

0 投票
0 回答
76 浏览

android - ReleaseTexImage 在 Android 9 中崩溃

我有一个扩展的自定义类TextureView。在这TextureView我有一个surfaceTexturemSurfaceTexture。这是一个单缓冲表面。

根据android文档,这里

在单缓冲模式下,应用程序负责序列化对图像内容缓冲区的访问。每次要更新图像内容时,必须在图像内容生产者获得缓冲区所有权之前调用 releaseTexImage() 方法。

因此,每当图像制作者获得所有权时,我都会调用它。它在 Android 10 上运行良好,但在 android 9 上出现以下错误:

我在打电话ANativeWindow_fromSurface。使用它之后,我还应该做一些其他的事情,比如发布 nativewindow 等吗?

关于为什么会发生这种情况以及其他任何人有类似问题的任何想法?

0 投票
0 回答
84 浏览

android - 在视图层次结构中以单缓冲模式创建和使用 SurfaceTexture

我正在创建一个自定义视图并在单缓冲模式下设置 SurfaceTexture,如下所示:

https://issuetracker.google.com/issues/175718927帖子告诉不要TextureView与单缓冲一起使用SurfaceTexture。我想知道它是什么原因,因为它没有在文档中提到。另外,有没有一种方法可以创建单个缓冲SurfaceTexture并创建一个view hierarchy

0 投票
1 回答
156 浏览

java - 如何在 Android 中绘制带有渐变的弧线?

我需要这张图片

我需要的

在 Android 中作为自定义视图(或其他东西)绘制。另外梯度不应该是静态的,它应该根据输入旋转(想象温度从-10到+40,它应该从全蓝到全红,中间状态)。

我发现我需要两个位图:一个渐变矩形和一个蒙面弧。然后我可以旋转渐变矩形,就是这样。关键是我不能在矩形上方(或下方)放置蒙版。

我试图重现这个答案,但没有成功。我只能用渐变绘制弧线,但显然这还不够。我也知道下面的代码是一团糟,但它应该是一个概念证明。

我想没有人会编写所有这些代码来解决我的问题,但你能给我至少一些例子吗?示例最好包含渐变、蒙版和手动绘制一些图形。

我找到了这篇文章,但我无法将其映射到我的案例,因为作者不使用自定义图形,并且并非所有代码示例都有效。

0 投票
1 回答
24 浏览

android - 图层列表可绘制对象有时未完全呈现

我遇到了一个问题,即我的图层列表可绘制对象不时未完全呈现。

在我的活动的 onCreate 中,我以编程方式创建了几个 TextView,在 onResume 中我正在调用 Web 服务,在得到响应后,我正在相应地更新这个 TextView。

还有我的一个drawables(blueck背景,咖啡图标):

问题是有时只渲染背景(黄色/蓝色),但图标不可见。

它发生在不同的模拟器中,它发生在真实设备上。

我不知道如何调试/解决这个问题。任何帮助将不胜感激。

我还添加了一些屏幕以显示 Android Studio 可以正常显示。

在此处输入图像描述

在此处输入图像描述