问题标签 [ondraw]

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 投票
3 回答
4483 浏览

android - 自定义视图的 OnDraw() 方法仅在按钮单击时调用一次

我试图在按钮单击时调用 onDraw 方法,按钮视图仅更新一次,同时调用 onDraw 方法。但线的位置没有变化。

我有这个自定义视图

从活动类中调用它

0 投票
2 回答
2658 浏览

android - 如何制作一个打印触摸点并绘制它们的Android应用程序?

我想做一个小应用程序。您将触摸屏幕并绘制一些东西,它会列出您通过的点,并为每第五个点绘制绿色的 3x3 小矩形。我使用 onTouchEvent 列出使用 TextView 的点并将其发送到 setContentView。但是,我在绘图时遇到了问题。我检查了绘图示例(onDraw),但我无法让它同时适用于打印点和绘制绿点。任何帮助都会很棒,谢谢。

0 投票
3 回答
7389 浏览

java - 如何让我的动画更流畅 Android

我有一个在屏幕上运行的球的应用程序。当球跑到一半时,应用程序会记录一些音频,计算 FFT 并进行一些额外的分析。

这是由 Asynctask 处理的,但是动画仍然会短暂卡顿。

有人对如何使其运行更顺畅有任何建议吗?

谢谢

下面的代码:

0 投票
2 回答
327 浏览

android - 在android中拦截屏幕更新

是否可以在 android 中拦截屏幕更新?

我实现了一个自定义的 LinearLayout 覆盖该onDraw()方法,但它只会在我不点击子元素而是在其他地方时被调用。

例如,当我在此视图组中有一个按钮并单击此按钮时,onDraw()将不会在根级别调用该方法。另一方面,如果我触摸 TextView,onDraw()则会在根级别调用。似乎某些元素消耗了该onDraw()方法并且不将其传递给父级。除了扩展每个可能的子节点并进行自定义实现之外,是否有另一种方法或事件可以捕获根视图及其子节点的所有更新?

编辑:也许我必须澄清一下。我的目的是在每次更改时获取子视图的位图。因此,例如,如果按钮是子视图,我想将视图绘制到位图(获取绘图缓存或手动调用 draw() 到自定义画布)。使用例如 onClickListener 的问题是,按钮状态在单击时实际上是“单击”,我还需要在单击之后和之前设置的按钮状态图像(http://developer.android. com/design/style/touch-feedback.html)。另一个问题也是,我不知道存在哪些子视图以及存在多少子视图,这应该适用于每个可能创建的布局。所以 onClickListeners 也不是选项,除了我会遍历所有孩子并检查它们是哪种类型。但是不同的州仍然存在问题。

0 投票
1 回答
952 浏览

android - Android:如何将附加对象引用传递给自定义视图

目前我有一个自定义视图:

现在,我想访问一个与 Android 无关的对象,比如数据库连接,我该怎么做?我目前的解决方案是执行以下操作

我的问题是有没有更好的方法来做到这一点?目前我需要设置(通过设置器)以确保设置将在MyView类中使用的对象,上面的代码片段有效,但我不知道这是否是优雅/流行的方法?

我正在考虑通过构造函数传递对象,但我不能这样做,因为Android只调用MyView(Context c, AttributeSets attrs)构造函数,如果我有它就不会调用版本MyView(Context c, AttributeSets attrs, DBConnection db)

请帮忙

0 投票
1 回答
1559 浏览

mfc - MFC - 全局访问 DocumentView OnDraw(CDC* pDC) 方法

我有一个 MFC SDI 应用程序,我想从一个单独的对话框访问文档区域,以便可以在其上绘制一些东西。这是我要访问的内容:

无效 CProjView::OnDraw(CDC* pDC)

或者更好的是,我想直接从对话框中绘制文档视图。我怎样才能做到这一点 ?

0 投票
1 回答
161 浏览

android - 随机放置对象时避免画布中的特定范围

我将对象放置在屏幕(画布)上的随机位置:

这工作正常。现在; 如果我想避免将对象放在 (40,50) - (60,80) 上该怎么办。例如,因为我有一个按钮,我不希望按钮被可见对象覆盖。

当然,我可以实现一个“检查位置”例程,如果对象位置放置在按钮区域内的某个位置,它会重新随机化。但这是最好的(最干净、最整洁、最快)的解决方案吗?谢谢你的想法!

0 投票
2 回答
3007 浏览

android - Android:如何获得更快的 onDraw()

我创建了一个调用 DrawView extends View 的活动,我在 Canvas 上绘制类似于二叉树的东西。画布尺寸大于屏幕尺寸,onDraw 函数绘制所有的画布,而不仅仅是它的可见部分。我添加了一个水平和一个垂直的scrollView,显然onDraw 被一次又一次地调用来刷新视图。我想知道是否可以使用该图像在图像(位图或类似的东西)上绘制画布来显示树,而无需调用 onDraw 函数。如果我不能这样做,我该怎么做才能获得更快的视图?

0 投票
1 回答
1844 浏览

java - 如何在 SurfaceView 中使用 android 软键盘

我有一个绘制的 SurfaceView,没有控件、文本框或任何其他类型的表单类型项目。我希望能够:

1:触摸我在SurfaceView onDraw()方法上画的一个圆圈,打开默认的android软键盘。(我知道如何做触摸检测部分,只需要以某种方式打开软键盘)

2:当我键入时,我希望我选择的字母显示在画布上(我再次知道如何进行绘图部分,但我如何捕获用户首先选择的键?)

许多坦克

大卫

0 投票
2 回答
2037 浏览

android - Android 在 onDraw 方法中添加延迟

我是 android 新手并构建了一个应用程序,该应用程序涉及显示一个视图 2 秒然后更改。这是我的 onDraw 方法:

我知道我必须在某处使用 postdelayed 方法,但不知道如何......现在我只想在延迟后省略 canvas.drawText 行。