当项目在屏幕边缘附近(左侧或右侧)拖动时,我需要实现当前的选项卡更改。实现拖动项目到屏幕边缘特征
拖放拖放功能和当前选项卡开关没有问题。我无法正确处理这个事件 - 当拖动的项目靠近屏幕的边缘时。
你会怎么做?
我的尝试:
<FrameLayout
android:id="@+id/left_toggle_area"
android:layout_width="30dp"
android:layout_height="fill_parent"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true">
</FrameLayout>
<FrameLayout
android:id="@+id/right_toggle_area"
android:layout_width="30dp"
android:layout_height="fill_parent"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true">
</FrameLayout>
<GridView
android:layout_width="match_parent"
android:layout_height="match_parent"
... />
的想法是改变目前的标签编程时,在肘节区域拖曳的项目。
但该事件DragEvent.ACTION_DRAG_ENTERED
从来没有发生,因为(我相信)GridView
采取整个屏幕,只是与切换区域重叠。
我试过了,当拖动开始事件被触发时,已经将这些区域放在前面。但由于某种原因,这并不起作用。
FrameLayout toggleView = (FrameLayout) v;
toggleView.bringToFront();
toggleView.requestLayout();
toggleView.invalidate();
如果有人遇到此类问题,请分享您的经验。或者也许还有另一个更好的解决方案。请给我一个提示。
我发布了我目前的解决方案。但仍倾向于使用提到的拖拽区域。所以,如果有人有想法,欢迎欢迎。 – AnZ
所以你不想丢弃,仍然改变标签? –
是的,我想用'DragEvent.ACTION_DRAG_ENTERED'事件更改当前选项卡 – AnZ