hercules135 2015-02-12 02:04 采纳率: 0%
浏览 720

请问移动端如何拖拽 小图片?

找了一些代码 兼容性都不是很好,而且问题很多.

我希望的效果是 触发了 触摸事件以后就能够屏蔽浏览器的滚动,这样拖动的图片效果才好,不然浏览器一滚动,效果就差了.

最好能给个DEMO

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-03 10:02
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    这个问题可以通过使用View.OnDragListener来解决。这个监听器会处理触摸事件,并根据需要进行操作。

    以下是一个简单的示例:

    public class MyActivity extends AppCompatActivity implements View.OnDragListener {
    
        private ImageView imageView;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            imageView = findViewById(R.id.imageView);
    
            // 设置OnDragListener
            imageView.setOnDragListener(this);
        }
    
        @Override
        public boolean onDrag(View v, DragEvent event) {
            if (event.getAction() == DragEvent.ACTION_DRAG_STARTED) {
                // 使图片不被浏览器滚动
                ((WebView) v).setScrollbarVelocity(0.0f);
            } else if (event.getAction() == DragEvent.ACTION_DRAG_ENTERED) {
                // 在拖动过程中执行一些操作
            } else if (event.getAction() == DragEvent.ACTION_DRAG_EXITED) {
                // 在拖动结束后执行一些操作
            }
            return true;
        }
    }
    

    在这个例子中,当用户开始拖动图片时,onDrag方法会被调用。在ACTION_DRAG_STARTED事件中,我们设置了WebView的滚动速度为0(即不允许滚动)。然后,在其他事件中,我们可以添加自己的逻辑来处理拖动过程中的任何事情。

    请注意,这只是一个基本的例子,你可能需要根据你的具体需求对其进行修改和扩展。例如,你可能希望在拖动过程中暂停加载图片资源,或者在拖动结束时显示一个提示消息等。

    评论

报告相同问题?