原文移至:http://blog.csdn.net/jsmeli/article/details/73248836 請移步查看!
相信很多人用了鑲嵌型的百度地圖都會有滑動衝突的問題,那麼如何解決呢?
我開始的解決思路就是屏蔽當前頁面的滑動事件,下面說一個比較簡單的解決方法:
通過比較百度Map的包名是否一致來 屏蔽滑動事件。
就拿ViewPager滑動事件與百度Map的滑動事件舉例,可以自己定義一個ViewPager,
在canScroll方法中比較包名來判斷滑動事件的返回值,返回true則表示自己處理滑動,屏蔽
掉ViewPager的滑動事件,變成百度Map的滑動事件,這樣就完美解決衝突。
public class MyViewPager extends ViewPager{
public MyViewPager(Context context) {
super(context);
}
public MyViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
protected boolean canScroll(View v, boolean checkV, int dx, int x, int y) {
if(v.getClass().getName().equals("com.baidu.mapapi.map.MapView")) {
return true;
}
return super.canScroll(v, checkV, dx, x, y);
}
}