找了一些代码 兼容性都不是很好,而且问题很多.
我希望的效果是 触发了 触摸事件以后就能够屏蔽浏览器的滚动,这样拖动的图片效果才好,不然浏览器一滚动,效果就差了.
最好能给个DEMO
找了一些代码 兼容性都不是很好,而且问题很多.
我希望的效果是 触发了 触摸事件以后就能够屏蔽浏览器的滚动,这样拖动的图片效果才好,不然浏览器一滚动,效果就差了.
最好能给个DEMO
以下回答参考 皆我百晓生、券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。
这个问题可以通过使用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(即不允许滚动)。然后,在其他事件中,我们可以添加自己的逻辑来处理拖动过程中的任何事情。
请注意,这只是一个基本的例子,你可能需要根据你的具体需求对其进行修改和扩展。例如,你可能希望在拖动过程中暂停加载图片资源,或者在拖动结束时显示一个提示消息等。