美好的一天,我有一个看起来像这样的线性布局
在片段区域中有一个谷歌地图的片段,我想要的是一个布局,使片段使用屏幕中的可用空间而不会将其余元素推出,所以在某些屏幕中地图会比其他地方高,我现在的布局,它使用固定的layout_height为地图,我想要一些动态,所以我可以删除scrollview标签
这是我目前的xml
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="xxxxxxxxx">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<include layout="@layout/toolbar_default" />
<LinearLayout
android:id="@+id/xxxxxxx"
android:visibility="visible"
android:layout_width="match_parent"
android:paddingTop="8dp"
android:paddingBottom="8dp"
android:background="@color/app_blue_dark"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal">
<TextView
android:id="@+id/xxxxxxx"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold"
android:gravity="center"
android:textColor="@color/solid_white"
android:drawableLeft="@drawable/xxxxxxxx"
android:text="xxxxxxxxx" />
</LinearLayout>
<LinearLayout
android:layout_margin="@dimen/activity_vertical_margin"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.v7.widget.SwitchCompat
android:id="@+id/xxxxxxxx"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="#666"
android:text="@string/xxxxxxx"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:weightSum="100"
android:orientation="horizontal">
<android.support.v7.widget.AppCompatButton
android:id="@+id/xxxxxxxx"
android:textColor="@color/solid_white"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="xxxxxxxxx"
android:layout_marginLeft="@dimen/activity_vertical_margin"
android:text="@string/xxxxxxxx"
android:layout_weight="50"
android:drawableLeft="@drawable/xxxxxxxxxx" />
<android.support.v7.widget.AppCompatButton
android:id="@+id/xxxxxxxxx"
android:drawablePadding="0dp"
android:textColor="@color/solid_white"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/xxxxxxxx"
android:onClick="xxxxxxxxx"
android:layout_marginRight="@dimen/activity_vertical_margin"
android:layout_weight="50"
android:drawableLeft="@drawable/xxxxxxx" />
</LinearLayout>
<RelativeLayout
android:id="@+id/xxxxxxx"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingBottom="0dp"
android:layout_margin="0dp"
android:paddingTop="@dimen/activity_vertical_margin">
<TextView
android:id="@+id/xxxxxxx"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="xxxxxxxx"
android:layout_marginTop="@dimen/activity_vertical_margin" />
<android.support.v7.widget.AppCompatImageButton
android:id="@+id/xxx"
android:layout_alignParentRight="true"
android:layout_width="wrap_content"
android:onClick="xxxxxxxx"
android:layout_height="wrap_content"
android:src="@drawable/xxxxxxxxx" />
</RelativeLayout>
<fragment
android:id="@+id/map"
android:layout_marginTop="@dimen/activity_vertical_margin"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="275dp" />
<LinearLayout
android:id="@+id/xxxx"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="@dimen/activity_vertical_margin">
<TextView
android:textStyle="bold"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="xxxxxx" />
<TextView
android:id="@+id/xxxx"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="xxxxxxxxxxxxxx"
android:lines="2" />
</LinearLayout>
</LinearLayout>
</ScrollView>
感谢您的帮助!!
答案 0 :(得分:1)
您可以设置android:weight="1"
和android:height="0dp"
。这样,地图将占用所需的空间,而其余视图则按原样显示。这样您就可以删除ScrollView。
答案 1 :(得分:0)
在片段中创建线性布局,然后将Google地图设置为填充父级,因为您的主要布局是线性布局