作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我有一个带有条形 fragment (ListFragment) 和团队 fragment (ListFragment) 的 FragmentPagerAdapter。当一个项目被长按时,我希望能够将它从团队选项卡中拖放到条形图选项卡上以建立关系。这在理论上的工作方式类似于主屏幕,如果我靠近该项目的边缘,我可以进入下一个屏幕。
更新:
我正在使用 3.0+ 或兼容库。
我正试图拖到另一个标签上,而不是在同一个标签内。
最佳答案
这取决于您的目标级别。如果您的应用程序设计为在 Android 3.0 或更高版本上运行,您可以将内置的 Drag and Drop API 作为目标。 .
如果您的应用程序需要针对早期版本,this is a good open-source library ( Github page ) 我以前使用过并尝试为面向 2.0 或更高版本的应用程序镜像内置 API 的功能。
无论哪种情况,您都可以使用 onItemLongClick()
回调中的 startDrag()
开始拖动操作。
编辑:抱歉造成混淆
您必须根据 DragEvent
数据以编程方式在 ViewPager
中进行“制表符”更改:
ViewPager
只是支持库的一部分(并且未向后移植),您可能必须将 OnDragEventListener
附加到其父 ViewGroup。ACTION_DRAG_LOCATION
事件触发给监听器时监视拖动位置。定义一个合理的阈值,手指必须到达监听 View 的边缘内,当它到达那里时,调用 ViewPager
上的 setCurrentItem()
进行切换。ViewPager
上的 setOffscreenPageLimit()
控制),新页面也应该是放置目标的候选者,因此它们应该能够监听 ACTION_DROP
事件。HTH
关于java - 如何将选定的 OnItemLongClick 从一个 ViewPager 项目拖到另一个项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9489366/
我是一名优秀的程序员,十分优秀!