2017-10-18 58 views
0

我想讓地圖看起來固定在屏幕的底部,而ScrollView只允許在它之前滾動。問題是,當我有超過x個TextViews(在ScrollView中)時,地圖從屏幕上消失,我甚至不能通過滾動底部看到他。我怎樣才能使谷歌地圖視圖總是出現在我的佈局的底部?

我有一個包含幾個LinearLayouts與TextViews並在最後的MapView這樣的滾動型:`

  ... 

      <LinearLayout 
       android:id="@+id/details_neighbours_layout" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:minHeight="@dimen/details_separator_height" 
       android:orientation="horizontal" 
       android:padding="@dimen/historic_margin_separator_medium" 
       android:visibility="gone" 
       android:weightSum="3"> 

       <TextView 
        android:id="@+id/neighbours_title" 
        android:layout_width="0dip" 
        android:layout_height="match_parent" 
        android:layout_weight="1" 
        android:text="@string/neighbours" 
        android:textColor="@color/color_light_grey_text" 
        android:textSize="@dimen/primary_text_size" 
        android:textStyle="bold" /> 

       <TextView 
        android:id="@+id/neighbours_text" 
        android:layout_width="0dip" 
        android:layout_height="match_parent" 
        android:layout_weight="2" 
        android:gravity="center_vertical|right" 
        android:paddingLeft="4dp" 
        android:text="" 
        android:textColor="@color/color_light_grey_text" 
        android:textSize="@dimen/tertiary_text_size" /> 
      </LinearLayout> 
     </LinearLayout> 
    </ScrollView> 
</LinearLayout> 

<!-- Map view --> 
<com.google.android.gms.maps.MapView 
    android:id="@+id/map_view" 
    android:layout_width="match_parent" 
    android:layout_height="0dip" 
    android:layout_weight="1" 
    android:visibility="visible"/> 

回答

1

你可以試試下面的代碼:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <ScrollView 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:orientation="vertical" 
      android:weightSum="1"> 

      <LinearLayout 
       android:id="@+id/details_neighbours_layout" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_weight=".2" 
       android:orientation="horizontal" 
       android:weightSum="3"> 

       <TextView 
        android:id="@+id/neighbours_title" 
        android:layout_width="0dip" 
        android:layout_height="match_parent" 
        android:layout_weight="1" 
        android:text="abc" 
        android:textStyle="bold" /> 

       <TextView 
        android:id="@+id/neighbours_text" 
        android:layout_width="0dip" 
        android:layout_height="match_parent" 
        android:layout_weight="2" 
        android:gravity="center_vertical|right" 
        android:paddingLeft="4dp" 
        android:text="xyz" /> 
      </LinearLayout> 
     </LinearLayout> 
    </ScrollView> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true"> 

     <com.google.android.gms.maps.MapView 
      android:id="@+id/map_view" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:visibility="visible" /> 

    </LinearLayout> 

</RelativeLayout> 
0

使用RelativeLayout的父,然後用屬性附加傷害

alignParentBottom=true 

這個附加的MapView和其他一些屬性應該給你的結果。

0

嘗試。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
      xmlns:app="http://schemas.android.com/apk/res-auto" 
      xmlns:card_view="http://schemas.android.com/tools" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:orientation="vertical"> 

      <ScrollView 
      android:layout_width="match_parent" 
      android:layout_height="0dp" 
      android:layout_weight="1" 
      android:scrollbars="none" 
      > 
      <!-- Your TextViews --> 
     </ScrollView> 

     <com.google.android.gms.maps.MapView 
      android:id="@+id/map_view" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      /> 

相關問題