gpt4 book ai didi

android - 在对话框中绘制图表

转载 作者:行者123 更新时间:2023-11-29 02:15:51 24 4
gpt4 key购买 nike

我有一个概念性的问题要问:

我创建了一个自定义对话框(扩展对话框),我想在对话框的前三分之一处绘制图表(动态数据,而非静态数据)。

解决此问题的最佳(唯一?)方法是什么?

A) 获取对话框的 Canvas 并向其绘制?似乎我需要访问对话框的绘图,是的,或者我可以在绘图之外执行此操作吗?

B) 在对话框布局(例如 LinearLayout)中子类化 View 并覆​​盖它的绘制和绘制图表?

C) 其他?我读过一种方法是绘制到位图,然后 blt(或等效)到 Canvas 。这听起来更接近我想要做的,因为一旦我创建了图表,我就不需要改变它(没有直接的用户交互)。

我还没有找到任何处理对话框中自定义绘图的好的示例代码,所以如果我遗漏了什么,一个例子会很好。

非常感谢,

丰富

最佳答案

已解决。

我的解决方案是上述 B/C 的混合体。由于我需要访问 View 的 draw() 方法,因此我创建了自己的 ImageView 子类(例如 MyView)。

在 draw() 中,我可以获得对话框中显示的 ImageView 的动态大小。给定大小后,我现在可以在对话框中执行缩放到自定义 ImageView 大小的绘制。

我必须记住在对话框布局中使用正确的自定义 View XML 语法(例如,“com.avaliant.dialogtest.MyView”替换“ImageView”)。当然,在我的对话框类中,我必须将 View 设置为正确的 View 类:

MyView test = (MyView)dialogView.findViewById(R.id.test);

一旦我理解了为什么我必须做我必须做的事情就很容易了:)。

丰富

关于android - 在对话框中绘制图表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4001091/

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