问题标签 [redraw]

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

android - 如何强制 android 视图重绘它的背景可绘制?/ 可能是动画阻止它正常工作

有没有办法强制 android 视图重绘它的背景?我设置了一个带有渐变的可绘制形状作为背景,效果很好,但是在更改视图的高度后,您可以看到那些难看的渐变步骤。

我能做些什么?我试过了view.invalidate()view.refreshDrawableState()没有任何明显的区别。

谢谢!

//编辑:这里有一些更多的细节和我的代码: 在你回答之后,我认为条带是我可能是错误代码的结果。这是我正在做的事情:

  1. 缩放视图
  2. 设置其新的宽度和高度,因为缩放视图不接受其他区域的用户输入,然后是“旧”视图(参见android 奇怪的(至少对我而言)缩放后的控制行为 / 不接受整个区域的输入
  3. 尝试再次设置背景(其中包含渐变和圆角矩形)

这是我的代码:

在设备上,您可以看到背景可绘制对象发生了变化,但在我看来,在动画结束之前应用了背景变化的闪烁。以编程方式应该结束了!还是我错了?

再次感谢你!

0 投票
1 回答
1083 浏览

.net - 是否可以防止 WPF 控件重绘?

我必须更新 WPF 控件中的多个子控件。在更新所有子控件之前,我不希望重绘控件。

0 投票
2 回答
1180 浏览

wpf - 屏幕从睡眠中唤醒后,WPF 应用程序窗口未完全刷新

今天我们在一个 WPF 应用程序中发现了一个奇怪的问题,我们不确定如何处理它。当我们在其中一台笔记本电脑上运行该软件时,在没有用户交互的情况下,屏幕会在一段时间后进入睡眠状态(变黑)。它应用程序本身仍在忙于从 Internet 下载数据并在数据库中填写表格。还有一个进度条和一个状态栏。

如果我们只是通过移动鼠标来唤醒屏幕,程序会再次显示,但窗口的某些部分不会刷新。即使过程完成并且状态栏也错误,进度条仍然显示值。

从此时起,您可以像什么都没发生一样使用该程序,但只有将整个窗口最小化到任务栏并再次最大化它时,才会重绘进度条和状态栏。或者,如果您开始另一个也将使用进度条或状态栏的操作。

这种奇怪的行为引起了很多混乱,因为屏幕从睡眠中唤醒后显示的数据似乎是错误的,您需要最小化和最大化窗口才能查看实际情况。

这里有什么问题?

0 投票
1 回答
924 浏览

silverlight - 未在调整 Viewbox、Silverlight 的大小上绘制的项目

我目前正在 Silverlight 中设计一个布局应用程序,并且有Canvas一个Viewbox. 我在画布上添加了形状并且它们正确显示,当我调整视图框的大小以放大 2 倍高度和宽度时,一切仍然正确绘制。

当我尝试放大一个4或更大的因子或0.5(缩小)时,问题就出现了。

更新:水平线仍然存在,只是没有绘制。其他形状和消失的形状之间的相互作用仍然存在

当我这样做时,任何水平线都不会重绘,但任何其他形状,其他的垂直线,仍然可以重绘。这些对象仍然是画布的子对象,它们的可见性都设置为可见。

怎么了?

更新
非常简单的 XAML:

这是我添加形状的方法:

放大:

0 投票
1 回答
5096 浏览

android - 使用invalidateSelf()通过计时器重绘Drawable不起作用

我让我的班级实现了 Drawable。我需要定期重绘它以获得一些“眨眼”效果。我正在使用 timer.schedule 来安排 invalidateSelf() 但什么也没发生。

在日志中类似这样的
内容 02-08 23:07:44.791: INFO/(258): draw
02-08 23:07:44.791: INFO/(258): blink
02-08 23:07:44.791: INFO/(258 ): 时间表
02-08 23:07:45.011: INFO/(258): 从后面跑
02-08 23:07:45.021: INFO/(258): 平局
02-08 23:07:45.021: INFO/(258 ): 时间表
02-08 23:07:45.171: INFO/(258): 从后面跑
02-08 23:07:45.171: INFO/(258): 平局
02-08 23:07:45.171: INFO/(258 ): 闪烁
02-08 23:07:45.171: INFO/(258): 计划
02-08 23:07:45.331: INFO/(258): 从后面跑

为什么它不起作用?我应该为此使用其他方法吗?

0 投票
2 回答
875 浏览

cocoa - Cocoa:CALayer:视图的连续重绘不断增加分配的内存

我有内存分配问题(无论如何都不会泄漏)。

我的程序有一个自定义Window,其中自定义View包含 a TextField、 anImageView和 a Shadow。假设每 1 秒我以编程方式更新TextFieldusing的值[myTextField setStringValue:@"actual string"]

显然,每次更改 TextField 时,都会重绘视图。

如果我查看活动监视器,我会看到每次更新 TextField 时,都会重绘视图,分配的内存会增加。ImageView 不应该改变。 如果我用 注释该行setStringValue,则程序运行时根本不会增加内存。(见更新 4。)

请注意,Instruments不报告内存泄漏或未释放的对象,并且 View 是autorelease'd。

什么会导致这种情况?

更新

我发布了实际代码的简化版本:

。H

.m

哪里CustomTextFieldNSTextField课。

我不知道我要添加的内容是否重要,无论如何自定义窗口、自定义视图和自定义文本字段是init在代码中以编程方式定义和定义的,并且它们没有在界面生成器中实例化。

更新 2

我错了!即使我评论setStringValue内存仍然增加......少了很多,但它仍然增加......奇怪的事实是,无论如何,仪器报告的“活体”大小保持不变并且没有报告泄漏。

怎么了?

更新 3

我刚刚使用了 Instruments 令人惊叹的 heapshots 功能,就是结果。

我在活动监视器中看到的内存增加(几分钟后大约为数千字节)来自哪里?

更新 4

我想我已经找到了导致问题的原因,但我无法解决它。

View 有一个 TextField、一个 ImageView 和一个 Shadow。为了使它们在屏幕上正确显示而不会出现故障,我添加了[view setWantsLayer:YES]. 如果我评论这一行,内存分配问题肯定解决了。

现在,只要我需要使用那个命令,我该怎么办?我应该发布与核心动画相关的东西吗?请注意,与 Core Animation 相关的唯一一个命令就是上述命令。

0 投票
2 回答
3779 浏览

android - 无效不是重绘屏幕。安卓

那是我的代码,但当我告诉它时它不会重绘。它应该在添加到 textview 的每一行之后重绘,但它仍然只在最后重绘?谁能帮帮我,我想不通。

0 投票
0 回答
348 浏览

javascript - 某些 javascript 事件时 Firefox 白色闪烁

这类似于这个问题:(firefox-making-white-flash-as-it-builds-the-page)但不同的是,在我的情况下,该页面已经完全加载。

页面完全加载后,在触发向我的页面添加元素的某些 javascript 事件上,Firefox 会产生白色闪烁(不是在整个页面上,但不是在添加元素的特定 div 上)覆盖大面积页面(基本上它发生在我正在向其中添加内容的 div 的祖先,但它不是直接祖先)。

我添加的元素在水平滚动的 div 中,所以它根本不像页面宽度发生变化。此外,它并不一致。有时添加或删除元素会触发白色闪光,有时则不会。

我假设这只是 FF 重绘页面方式的问题。

我知道我的问题可能有点含糊,但我不确定是否有人对此有经验或有任何建议。任何建议将不胜感激。

0 投票
1 回答
463 浏览

uiviewcontroller - 使用 UiScrollview 进行分页并渲染下一页

根据 PhotoScroller 示例,我已经实现了带有分页的 UIScrollView。

但是,我不能让它很好地工作。我使用加载 XIB 的 viewController。但是当滚动页面时,它实际上并没有更新,直到它在视图中完成(所以它似乎没有用数据渲染布局,直到它完全在视图中)

我在 Loadview 上加载数据(因为在这种情况下似乎从未调用 viewWillAppear)。有什么建议可以在创建时呈现整个视图,以便在滚动时显示?我不知所措,认为我几乎尝试了所有东西(可能除了明显的)。

(编辑:加载的视图存储在可变字典中,以便在回滚时调用,并且它们正确)

0 投票
1 回答
925 浏览

jquery - JQuery:如何重绘滑块?

我非常需要您的帮助,因为我花了太多时间尝试修改 Jquery Slider 插件但没有成功。

我正在使用这个滑块插件:http ://blog.egorkhmelev.com/2010/03/jquery-slider-update/

我想要做的是在点击时重新绘制这个 JQuery Slider。当用户单击时 - 传递具有新比例和指针位置的新设置。重绘仅部分起作用,仅更改一个指针位置和比例。我一定错过了代码中的某些内容,或者没有足够的 Jquery 知识来解决这个问题。

请注意:此插件中尚未实现重绘,这是我正在尝试添加的新功能。

很多人在官方网站上问过同样的问题,但似乎不再支持了。因此,如果您能帮助我找到错误 - 我保证会再次在网络上分享此解决方案。

十分感谢!开尔文