我希望地图显示在屏幕底部,而ScrollView只允许在它之前滚动。问题是,当我有超过x TextViews(在ScrollView中)时,地图会从屏幕上消失,我甚至无法通过滚动到底部看到他。
我有一个包含几个带有TextViews的LinearLayouts的ScrollView,最后是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"/>
答案 0 :(得分: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>
答案 1 :(得分:0)
使用RelativeLayout作为父级,然后使用属性
添加MapViewalignParentBottom=true
这和其他一些属性应该会给你结果。
答案 2 :(得分: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"
/>