【问题标题】:android Map zoom not working ontouch?android 地图缩放在触摸屏上不起作用?
【发布时间】:2014-02-28 18:58:43
【问题描述】:

我在水平滚动中使用地图。 我的问题是当我尝试水平滚动时,这项工作正常,但是当我尝试移动或缩放地图视图时,这不起作用。为什么?

我猜这可能是因为滚动视图的滚动功能。

 <?xml version="1.0" encoding="utf-8"?>
 <HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/horizontal_scroll"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:background="#ffffff"
    android:fadingEdge="none" >

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:orientation="horizontal" >

    <!-- Map Panel -->

    <RelativeLayout
        android:id="@+id/map_panel"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >

        <RelativeLayout
            android:id="@+id/headerLayout"
            android:layout_width="fill_parent"
            android:layout_height="55dp"
            android:background="@drawable/greybar_head"
            android:gravity="center_vertical" >

            <ImageView
                android:id="@+id/stpLogo"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:src="@drawable/st_icon_new" />

            <TextView
                android:id="@+id/PropertyTypeText"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerHorizontal="true"
                android:layout_centerVertical="true"
                android:background="@drawable/img_prop_for"
                android:gravity="center_vertical|center_horizontal"
                android:paddingLeft="15dp"
                android:paddingRight="30dp"
                android:text="For Sale"
                android:textStyle="bold"
                android:visibility="gone" />
                </LinearLayout>

                <ListView
                    android:id="@+id/ListItemView"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/LeftHeaderLayout"
                    android:cacheColorHint="@color/transparent"
                    android:choiceMode="singleChoice"
                    android:listSelector="@drawable/list_selector" >
                </ListView>
            </RelativeLayout>

            <RelativeLayout
                android:id="@+id/mapInnerLayout"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_toRightOf="@+id/leftListView"
                android:gravity="center_vertical" >

                <fragment
                    android:id="@+id/map"
                    android:layout_width="fill_parent"
                    android:layout_height="match_parent"
                    android:layout_centerInParent="true"
                    class="com.stp.stproperty.shared.MySupportMapFragment" />
            </RelativeLayout>

【问题讨论】:

  • 我无法发布完整的代码,但这个 xml 包含其中的一部分。
  • 是的,它只能水平滚动,因为你必须在 Horizo​​ntal ScrollView 中添加它。所以它总是水平滚动。
  • 如何避免滚动并使地图移动工作? @PiyushGupta
  • 移除水平滚动视图。
  • 我也需要它。因为我在滚动时显示的视图很少。

标签: android horizontal-scrolling android-maps-v2 pinchzoom


【解决方案1】:

毕竟我发现我的问题的解决方案是像这样覆盖水平滚动视图的 ontouch 事件......

public class CustomScrollView extends HorizontalScrollView {

public CustomScrollView(Context context, AttributeSet attrs) {
    super(context, attrs);
}
public boolean onTouchEvent(MotionEvent ev) {
    return true;
}
public boolean onInterceptTouchEvent(MotionEvent ev) {
    return false;
}

}

【讨论】:

    猜你喜欢
    • 2014-09-09
    • 2015-07-23
    • 1970-01-01
    • 1970-01-01
    • 2020-07-10
    • 2021-01-20
    • 2019-08-10
    • 2012-08-02
    • 1970-01-01
    相关资源
    最近更新 更多