我的应用程序中有一个mapview,我想检测用户何时移动地图并隐藏我拥有的图像视图,然后检测用户何时停止移动地图以再次显示imageView。
答案 0 :(得分:0)
试试这个: -
mapView.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_UP) {
imageView.setVisibility(View.VISIBLE);
}else{
imageView.setVisibility(View.GONE);
}
return false;
}
});
答案 1 :(得分:0)
使用GoogleMap.OnCameraChangeListener,但移动地图时不会立即调用此方法。或者喜欢这个线程intercept touch events来自透明的framelayout,你必须把它放在地图上。
答案 2 :(得分:0)
您可以使用 OnCameraMoveStartedListener 或 OnCameraIdleListener
mMap.setOnCameraMoveStartedListener(new GoogleMap.OnCameraMoveStartedListener() {
@Override
public void onCameraMoveStarted(int reason) {
// code
// REASON_API_ANIMATION
// REASON_DEVELOPER_ANIMATION
// REASON_GESTURE
}
});
mMap.setOnCameraIdleListener(new GoogleMap.OnCameraIdleListener() {
@Override
public void onCameraIdle() {
// code
}
});
查看此link