百度地圖滑動衝突的問題解決

原文移至: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);
    }


}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章