Scrollview嵌套百度地图MapView导致触摸事件冲突
来源:互联网 发布:catia软件书籍 编辑:程序博客网 时间:2024/06/05 14:28
问题
项目中需求经常会出现Scrollview嵌套百度地图MapView,如下:
但是这样嵌套会出现滑动百度地图的时候整个Scrollview跟着一起滑动了。
<ScrollView android:layout_width="match_parent" android:layout_height="match_parent" android:scrollbars="none"> <!--其他组件--> <com.baidu.mapapi.map.MapView android:id="@+id/map_mapview" android:layout_width="match_parent" android:layout_height="@dimen/dimen_154dp" android:clickable="true"/> </ScrollView>
解决
在触摸到MapView的时候拦截父类Scrollview的触摸事件即可
1,加一个自定义容器嵌套MapView,自定义容器如下:
public class MyMapView extends FrameLayout { @Override public boolean dispatchTouchEvent(MotionEvent ev) { if (ev.getAction() == MotionEvent.ACTION_DOWN) { getParent().requestDisallowInterceptTouchEvent(true);//拦截父类事件 } else if (ev.getAction() == MotionEvent.ACTION_UP) { getParent().requestDisallowInterceptTouchEvent(false); } return super.dispatchTouchEvent(ev); } public MyMapView(Context context) { super(context); } public MyMapView(Context context, AttributeSet attrs) { super(context, attrs); } public MyMapView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); }}
2,在布局中嵌套,如下:
<ScrollView android:layout_width="match_parent" android:layout_height="match_parent" android:scrollbars="none"> <!--其他组件--> <com.baibai.baibai.view.widget.MyMapView android:layout_width="match_parent" android:layout_height="@dimen/dimen_154dp"> <com.baidu.mapapi.map.MapView android:id="@+id/map_mapview" android:layout_width="match_parent" android:layout_height="match_parent" android:clickable="true"/> </com.baibai.baibai.view.widget.MyMapView> </ScrollView>
阅读全文
2 0
- Scrollview嵌套百度地图MapView导致触摸事件冲突
- ScrollView中嵌套高德地图MapView,解决触摸冲突
- Scrollview嵌套百度地图MapView导致滑动有黑边或者阴影问题
- 重写Activity的dispatchTouchEvent与百度地图MapView事件冲突
- scrollview中嵌套高德地图,触摸冲突解决
- scrollview中嵌套高德地图,触摸冲突解决
- (转)ScrollView中嵌套高德地图,触摸冲突解决
- Android实践之ScrollView中滑动冲突处理,mapView百度地图滑动冲突
- android ScrollView下与子控件滑动冲突,如百度地图的mapview
- scrollView里面嵌套listview,导致滑动事件冲突解决。
- android:ScrollView内嵌套ListView、MapView等滑动冲突
- 百度地图mapView长按事件
- MapView跟Scrollview冲突
- Android 中 ScrollView中嵌套百度地图v3.4.0 导致地图获取不到焦点问题
- 解决百度地图MapView在ScrollView中的拖动黑影
- 解决百度地图MapView在ScrollView中的拖动黑影
- ScrollView ViewPager嵌套导致滑动冲突解决方案
- ScrollView ViewPager嵌套导致滑动冲突解决方案
- Android自定义适配器 (BaseAdapter)及优化
- android下拉刷新
- 利用html编码进行xss攻击
- 借贷记账法下的账户结构
- 现在开始到11月的博文计划
- Scrollview嵌套百度地图MapView导致触摸事件冲突
- Java多线程中join方法的理解
- Arrays.binarySearch() 方便记忆版
- java调用C++的方法
- ZOJ 1010
- 17、不一样的C++系列--静态成员
- 使用PullToRefreshActivity实现android下拉刷新
- Linux下的多线程编程一(系统编程)
- 人脸对齐LBF(二)