mhe*_*ens 15 android drag-and-drop
我正在开发一个应用程序,可以更好地控制拖动对象的删除位置.但是对于电容式触摸屏,用户的手指总是会遮挡掉落目标.
Android允许通过覆盖View.DragShadowBuilder.onProvideShadowMetrics()
方法指定拖动阴影上的"触摸点" .但似乎没有办法提供一个流离失所的"目标点".我想从拖曳阴影的触摸点投射一个箭头,可以更精确地操纵到投射目标.
问题:实现这一目标的最简单/最优雅的方法是什么?
我认为我可以在拖动操作期间在屏幕上放置一个不可见的图层,它记录触摸点的坐标,翻译它们并将它们发送到实际的拖放目标 - 基本上重新实现拖动事件.但我想知道是否有更简单的解决方案.或者如果其他人之前做过类似的事情.
编辑:这是我想要的那种拖影的粗略模型:
问题:实现这一目标的最简单/最优雅的方法是什么?
正如您已经看到的,您不能使用该类View.DragShadowBuilder
,因为无法将阴影句柄的点与所有发送的拖动事件考虑的点分开。我也没有看到重新实现拖动系统的另一种方法,即使是通过扩展类View
(这会很麻烦)。
我想我可以在拖动操作期间在屏幕上放置一个不可见的层,该层会注册触摸点的坐标,翻译它们并将它们发送到实际的放置目标 - 本质上重新实现拖动事件。
这是一种方法,如果您没有复杂的拖放要求,那么它非常简单。
但我想知道是否有更简单的解决方案。
您可能最好扩展基本的 Android 布局(至少是您将使用的布局)并在其中实现拖动逻辑。这样您就无需管理另一个层并进行一些额外的计算。我已经扩展了该类来实现您可以在此处找到的RelativeLayout
逻辑。我在像这样的 Activity中使用了该类,该 Activity 具有此布局。该示例是基础的,需要更多的工作(和思考)以使其更加灵活并解决一些潜在的问题。
归档时间: |
|
查看次数: |
1493 次 |
最近记录: |