MyScrollView.java
package com.mapview;
import android.content.Context;
import android.graphics.Rect;
import android.util.AttributeSet;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import android.widget.ScrollView;
public class MyScrollView extends ScrollView
{
public MyScrollView(Context context) {
super(context);
}
public MyScrollView(Context context, AttributeSet attrs) {
this(context, attrs, 0);
}
public MyScrollView(Context context, AttributeSet attrs, int defStyle)
{
super(context, attrs, defStyle);
}
private Boolean mIfOnMap = false;//是否点击到地图了
@Override
public boolean onInterceptTouchEvent(MotionEvent ev)
{
// 方法1判断点击位置是否在控件内,这个方法还是有点冲突
// int x = (int) ev.getX();
// int y = (int) ev.getY();
// Rect rect = new Rect();
// if (MainActivity.ma.baidumapView!= null&&MainActivity.ma.relyt.getVisibility() == View.VISIBLE) {
// MainActivity.ma.baidumapView.getDrawingRect(rect);// }// mIfOnMap = rect.contains(x, y);
// if (mIfOnMap) {
// return false;
// }else {
// return super.onInterceptTouchEvent(ev);
// }
//方法2不拦截所有控件返回false
return false; }
}
<com.mapview.MyScrollView
android:id="@+id/scro"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<!-- 其他控件 -->
<com.baidu.mapapi.map.MapView
android:id="@+id/baidumap"
android:layout_width="fill_parent"
android:layout_height="300.0dip"
android:clickable="true" />
<!-- 其他控件 -->
</com.maoview.MyScrollView>