问题标签 [android-canvas]

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

android - Android 位图绘图

你可以通过告诉它在画布的 X1,Y1 处绘制位图的 X,Y 来将位图绘制到画布上吗?而不是在 Canvas X1, Y1 处绘制 Bitmap 的 0,0?

0 投票
0 回答
2039 浏览

android - 在不同屏幕分辨率和密度的画布上绘图

我有以下情况:我想在画布上绘制一个矩形,并在矩形内绘制一定大小的文本。如何使矩形在所有屏幕尺寸上都具有屏幕的 1/4 宽度,以及如何知道 setTextSize 给内部文本以不超过矩形边界?我已阅读http://developer.android.com/guide/practices/screens_support.html但我对这些概念并不完全清楚。

0 投票
4 回答
9372 浏览

android - Android:在基于 Canvas 的视图上启用滚动条

我有一个扩展视图的自定义视图。它显示绘制的形状,并允许用户通过绘制触摸事件通过 onDraw 将这些图形添加到视图中。

我已启用 ScaleGestureDetector,以便用户可以放大特定部分并进行绘制,但由于我使用单点触控进行绘制,他们无法使用手指在放大的视图周围平移。

我试图为视图启用滚动条,以便在放大它们时显示滚动条并且用户可以使用它来平移......但我根本无法显示滚动条。

本质上,我所做的是在用户放大时awakenScrollBars()在我的 ScaleListener 方法中调用 View 的方法onScale(),这会触发invalidate(). 我通过 XML 和编程方式启用了滚动条onCreate(),但我无法触发滚动条可见。这是我的 XML:

这是我的 onCreate():

isHorizontalScrollBarEnabled()在 onDraw 中,我可以通过and验证滚动条是否启用,isVerticalScrollBarEnabled()并且返回 true,但滚动条是不可见的。awakenScrollBars()onScale()

关于如何进行的任何建议?在 ScrollView 布局中包含自定义视图似乎不是一个选项,因为它只支持垂直滚动。

谢谢,

保罗

0 投票
2 回答
20721 浏览

android - Android SDK 中的 Rect 和 RectF

Android SDK 中的 Rect 和 RectF 有什么区别?

0 投票
5 回答
101633 浏览

android - Android:将画布绘制到 ImageView

我是android编程的新手,我想弄清楚的是这个;

在我的布局中,我有一个 TextView、ImageView 和 Button,它们都在一个垂直方向的 LinearLayout 上。

我希望能够在 ImageView 中动态绘制圆圈,而不会干扰我的其余布局(文本视图/按钮)。我正在尝试创建一个画布,并使用画布中的 drawcircle 函数来设置圆圈的位置。然后以某种方式将该画布绘制到我的 imageview 上。我无法让它工作,这有什么诀窍吗?还是我的方法根本上是错误的?在不重新创建整个布局的情况下,我将如何在 ImageView 上绘制圆圈?

谢谢!

0 投票
2 回答
24373 浏览

android - Android 缩放画布位图

我有一个绘图应用程序,允许用户在空白画布上绘图。我正在尝试绘制当前位图的缩放“缩略图”,以便当用户在视图中缩放时,他们可以参考缩略图以了解它们在整个绘图画布中的位置。我有缩放工作,并且在正确的位置显示缩略图,但是当添加新的线条/形状时,缩略图似乎没有在后续的 onDraws 上更新。

这样我就可以访问该视图的底层位图(以显示缩略图,能够轻松地将位图保存到文件等),我在 onSizeChanged() 中为视图执行以下操作:

然后,当用户绘制并调用 invalidate() 时,我在 onDraw() 中执行以下操作以生成缩略图:

缩略图使用 thumbCanvasPaint 显示在 thumbnailRectF 定义的空间中,但在随后的 onDraw() 调用中,缩放的位图并没有改变其原始状态,即使全尺寸的活动画布显示了所有的绘图等。在某些测试中,在我看来,当我使用对 draw(mCanvas); 的初始调用设置位图时,随后的 onDraws 正在写入底层位图,而不是在 onSizeChanged() 中指定的位图。

所以,我想我想弄清楚如何将 onDraw 画布绑定到一个位图,我可以随时访问以执行重新调整大小、保存等。看着这个问题,我认为 draw(mCanvas); 调用会将 onDraw 绑定到 mCanvas 中指定的位图(在我的例子中是 mBitmap),但实际上,就画布的更新而言,它似乎不起作用。

谢谢,

保罗

0 投票
2 回答
1249 浏览

android - Android ajax 加载器

我正在尝试做一个 ajax 加载器,但它在 Android 1.5 中不起作用,这个版本不支持 gif 文件。

有什么建议吗?谢谢。

0 投票
1 回答
234 浏览

android - 如何将 canvas.draw 对象导入 Android 中的布局?

我不需要这个setcontentview()方法。再告诉我一个。

0 投票
3 回答
3479 浏览

android - write text vertically on canvas

I want to display text vertically on Canvas.
Please help me.

0 投票
4 回答
4484 浏览

android - android中的重叠视图?

我有一个线性布局,它有一个文本框(多行,近 5 行)和图像视图。是否可以在 textview(重叠)上绘制图像?

注意:我必须指定图像的坐标,它不是静态的,可能在文本上方的任何位置。

像这样的样机:

在此处输入图像描述