问题标签 [snapping]

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

c# - 在 C# 可滚动容器中控制调整大小

我有一组控件,我将它们垂直堆叠在可滚动控件中。

每个控件都包含文本(如 iPhone 上的消息气泡),气泡会根据文本的高度调整其大小。

我面临的问题是,当我调整父对象的大小使其更小时,气泡开始重叠,当我调整大小使气泡成为一条线时,每个气泡之间的空间太大。

我想做的是让每个气泡将气泡顶部捕捉到其上方气泡的 10 点,这是没有任何闪烁的最快方式(因为目前在调整大小时没有闪烁)

我曾考虑将每个控件嵌入另一个父控件(例如,网格控件行),但是添加的每个气泡都将负责调整其父控件的大小,然后锚将不再适用于它们的顶部、左侧和右侧定位.

如何才能做到这一点 ?(对不起,问题的细节在上面,因为由于复杂性和细节,它不能真正被写成一个简单的单行问题)

提前致谢 :)

根据要求,屏幕截图和代码

这通常是 在此处输入图像描述 调整大小后的视图,然后向下滚动到不在可见段中的控件 在此处输入图像描述 并调整大小,然后向上滚动 在此处输入图像描述

现在好东西......代码......

这是我的自定义控件的代码:

对于我的清单:

并为表单本身演示控件

表单设置为缩放到 DPI(这是正确的,所以在编辑测试时更改它,并使用我的清单,因为那是 DPI 缩放,而不是字体缩放)。

0 投票
1 回答
1901 浏览

javascript - d3 强制布局在拖动时对齐网格

在d3中完成拖动后如何捕捉到网格?

我尝试向事件添加事件侦听器dragend并对值进行四舍五入,但它似乎不起作用:

http://jsfiddle.net/zc89zj9e/

0 投票
0 回答
1251 浏览

android - Android RecyclerView 捕捉到错误的位置

我有一个水平布局管理器和 RecylerView。从那以后,我通过设置非常高的 itemCount 并从中间开始制作了一个轮播。然后为了实现捕捉,我按照http://www.plattysoft.com/2015/06/16/snapping-items-on-a-horizo ​​ntal-list/ 上的指南进行操作

Usually snapping works great but there are filters for the list (latest, most linked etc.) which when selected reload the list with new items.

如果列表朝正方向滚动(从右向左滑动),那么在重新加载后一切都很好。但是如果它在负方向滚动,那么在重新加载后它会捕捉到错误的位置(填充的长度)。

我尝试记录计算中使用的所有参数,但它们似乎是相同的,所以我不知道是什么原因造成的。

活动如下所示:

通常项目应如下所示:

但是在向左滚动并重新加载新列表后,如果像这样移动它:

0 投票
1 回答
1821 浏览

android - 在水平回收器视图中捕捉

我有一个水平回收器视图,我想在其中启用捕捉。我阅读了一些关于 SO 的线程,发现这段代码运行良好。我对 Recycler View 和 Layout Managers 的内部工作了解不多,所以想问一下代码是否可以修改为:

  1. 无论投掷速度如何,我都只想向前或向后移动一项。

  2. 抓拍速度很慢。如果我将视图移动超过一半宽度,下一个项目会进入中心但非常缓慢。可以增加此值以使快照立即生效吗?

关于如何实现上述行为的任何想法都会非常有帮助。

0 投票
1 回答
4715 浏览

android - 如何在 CollapsingToolbarLayout 中实现对齐?

我有一个折叠的工具栏布局,下面是一个选项卡布局,下面是相应的 viewpager。我想实现捕捉,这样当我折叠折叠工具栏布局超过一半并离开它时,它应该完全捕捉并折叠。我该怎么做?这是我的实际布局:

0 投票
0 回答
101 浏览

android - 捕捉水平滚动条(不同的项目宽度)

我浏览了许多不同的帖子,但没有找到任何可行的解决方案。捕捉水平滚动条的解决方案有很多,但只有在项目具有相同大小的情况下,它们中的每一个都有效。

我给你举个小例子:

屏幕能够显示 300px 的宽度。滚动条内的项目可以有不同的大小,例如:

  • 1:300像素
  • 2:300像素
  • 3:500像素
  • 4:400像素

如果 * 为 100px,则整个布局如下所示:

现在滚动条应该在项目的开始/结束处准确到位。前两项很容易,因为它们的大小与屏幕相同。但对于其余的,我想不出一个可行的解决方案。

因此,如果您滚动到第三项,滚动条应该在屏幕左侧第 3 项的开始处对齐。('!' = 屏幕尺寸)

如果您几乎滚动到第 4 项,则滚动条应该在屏幕右侧的第 3 项末尾准确地卡入到位。

很难解释。我希望你能理解我的问题。

0 投票
1 回答
1378 浏览

javascript - Google Maps API v3 Road Snapping - 如何使用有限的航点数据提高准确性

我有一个应用程序接收有限的航路点数据,尽管 Google Maps Road Snapping 在根据该数据猜测正确道路方面做得非常出色,但我仍然遇到不准确的程度,这对我们的应用程序不起作用.

这是一个例子

在此示例中,紫色标记表示正在发送的真实世界“源”航点,而蓝色标记显示根据源航点的数据从 Google 返回的捕捉的航点数据。我正在使用捕捉的蓝色航点生成一条折线来显示路线(紫色折线),不幸的是,捕捉的航点和后续路线应该看起来更像红色折线。

我已经在 API 的在线演示中手动测试了这一点,其中包含类似的“源”航点,并且路线仍然捕捉到不正确的路径,所以我只能假设根本没有足够的数据让 Google 准确捕捉。问题是,鉴于这样的有限数据,有什么方法可以提高正确捕捉的几率?有没有办法我可以插入有限的源航点来尝试“引导”谷歌提供更准确的快照?

这是类似于我正在使用的代码 - JSFiddle 在这里

0 投票
1 回答
805 浏览

bash - 命令行中的控制面板设置

我正在寻找一种使注册表更改立即生效的方法。具体来说,我想触及的价值是:

HKEY_CURRENT_USER/Control\ Panel/Desktop/WindowArrangementActive

当您直接从控制面板更改此设置时,它会立即生效,但是当我手动更改它时,它在重新启动之前没有注册。

我正在尝试制作一个脚本来禁用/启用 Windows 10 中的窗口捕捉。

我目前尝试在更改后运行以下命令,但没有成功:

RUNDLL32.EXE USER32.DLL,UpdatePerUserSystemParameters ,1 ,True

0 投票
2 回答
634 浏览

android - 捕捉 RecyclerView android

我正在尝试为我的水平 recyclerView 实现捕捉机制,并且我正在使用代码来执行此操作。

但是我所有的子项目之间似乎有一些空间。请看下面的截图(我还不允许嵌入图片,所以请检查链接):

在此处输入图像描述

我不确定为什么我的子项目之间有间距。我认为它与下面的代码有关:

但如果我不为子项目设置边距,recyclerView 项目不会捕捉到屏幕的中心。有人可以帮我指出正确的方向吗?

0 投票
1 回答
238 浏览

vb.net - 拖放后将图片框捕捉到按钮

我正在制作一个战舰游戏,我使用按钮作为网格(播放器)。我正在使用图片框作为船,并且我正在尝试使图片框捕捉到它正在碰撞的按钮。

我已经完成了拖放和碰撞部分,但我正在努力处理按钮部分。图片框是两个按钮的大小。我尝试使用picturebox.left = button.left将图片框与按钮对齐,但它选择了两者中的错误按钮。