2010-12-15 28 views
0

我有一個scrollview佈局,一些textviews和按鈕,還有一個mapview在middle.All的內容此佈局在滾動視圖上,因爲它有很多事情,用戶必須滾動窗口才能看到所有內容。帶有一些文本和mapview的scrollview佈局的問題...我不能移動地圖

但後來我遇到了一個問題,當用戶試圖移動地圖時,它不會移動,並且由於滾動視圖,手指會滾動整個窗口。它很酷,有可能滾動整個窗口,但我希望當用戶在地圖上移動手指時,用戶只滾動地圖。

存在一種方法來解決這個問題,而無需刪除滾動視圖?我需要它!

有代碼:

<?xml version="1.0" encoding="utf-8"?> 

<ScrollView android:id="@+id/ScrollView01" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    xmlns:android="http://schemas.android.com/apk/res/android"> 

<LinearLayout 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:padding="10px"> 

<RelativeLayout 
    android:gravity="center_vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"> 
    <TextView 
     android:id="@+id/UserLabel" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="5px" 
     android:text="@string/userlabel"/> 
    <TextView 
     android:id="@+id/User" 
     android:layout_alignBaseline="@id/UserLabel" 
     android:layout_alignParentRight="true" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"/> 
</RelativeLayout> 

<RelativeLayout 
    android:gravity="center_vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"> 
    <TextView 
     android:id="@+id/PermissionLabel" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="13px" 
     android:text="@string/perlabel"/> 
    <TextView 
     android:id="@+id/Permission" 
     android:layout_alignBaseline="@+id/PermissionLabel" 
     android:layout_alignParentRight="true" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"/> 
</RelativeLayout> 

<RelativeLayout 
    android:gravity="center_vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"> 
    <TextView 
     android:id="@+id/FromLabelLocate" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="13px" 
     android:text="@string/fromlabel"/> 
    <TextView 
     android:id="@+id/FromLocate" 
     android:layout_alignBaseline="@+id/FromLabelLocate" 
     android:layout_alignParentRight="true" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"/> 
</RelativeLayout> 

<RelativeLayout 
    android:gravity="center_vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"> 
    <TextView 
     android:id="@+id/ToLabelLocate" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="13px" 
     android:text="@string/tolabel"/> 
    <TextView 
     android:id="@+id/ToLocate" 
     android:layout_alignBaseline="@+id/ToLabelLocate" 
     android:layout_alignParentRight="true" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"/> 
</RelativeLayout> 

<RelativeLayout 
    android:gravity="center_vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"> 
    <TextView 
     android:id="@+id/LastUpdateLabel" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="13px" 
     android:text="@string/lastupdatelabel"/> 
    <TextView 
     android:id="@+id/LastUpdate" 
     android:layout_alignBaseline="@id/LastUpdateLabel" 
     android:layout_alignParentRight="true" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"/> 
</RelativeLayout> 

<View 
    android:layout_gravity="center_horizontal" 
    android:layout_width="fill_parent" 
    android:layout_height="1dip" 
    android:background="#808080" 
    android:layout_marginTop="5px" 
    android:layout_marginBottom="10px"/> 

<com.google.android.maps.MapView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/mapview" 
    android:layout_width="fill_parent" 
    android:layout_height="230px" 
    android:clickable="true" 
    android:apiKey="mykey" 
/> 

<View 
    android:layout_gravity="center_horizontal" 
    android:layout_width="fill_parent" 
    android:layout_height="1dip" 
    android:background="#808080" 
    android:layout_marginTop="10px" 
    android:layout_marginBottom="10px"/> 

<RelativeLayout 
    android:gravity="center_vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"> 
    <Button 
     android:id="@+id/locate" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="@string/locate" 
     android:width="130px" 
     android:layout_marginLeft="15dip"/> 
    <Button 
     android:id="@+id/trace" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="@string/trace" 
     android:width="130px" 
     android:layout_alignBaseline="@id/locate" 
     android:layout_alignParentRight="true" 
     android:layout_marginRight="15dip"/> 
</RelativeLayout> 

</LinearLayout> 
</ScrollView> 

回答

1

移動地圖出ScrollView的。通常,你不能將可滾動的東西,如MapView,放入ScrollView

+0

我需要在滾動視圖上顯示地圖... – NullPointerException 2010-12-17 15:48:31

+0

@ AndroidUser99:重新設計您的用戶界面,以便您不需要ScrollView中的地圖。或者,在MapView上設置'android:clickable =「false」'這樣'MapView'不能被用戶直接操作 - 這*可能*允許它在'ScrollView'中工作。 – CommonsWare 2010-12-17 15:53:59

0

遲到的晚回答,但我發現這篇文章,同時谷歌搜索的問題,我也發現了另一個回答,對我來說工作很好:MapView inside a ScrollView?所以我想我也會在這裏發佈它。