我有一个包含3个主要元素的布局 - 包含一个图像视图的布局,以及垂直滚动视图和水平滚动视图。 (参见下面的XML :)
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".HomeScreen"
android:weightSum="1">
<RelativeLayout
android:id="@+id/RelLayoutTitleImage"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="1">
<ImageView
android:layout_width="fill_parent"
android:layout_height="100dp"
android:layout_alignParentTop="true"
android:id="@+id/titleimage"
android:src="@drawable/saferroadsshellharbourtitle"
android:layout_weight="0.08" />
</RelativeLayout>
<ScrollView
android:layout_width="match_parent"
android:layout_height="272dp"
android:id="@+id/scrollView"
android:layout_gravity="center"
>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="272dp"
android:orientation="vertical">
<ImageButton
android:layout_width="fill_parent"
android:layout_height="100dp"
android:id="@+id/btn_Old_logo"
android:clickable="true"
android:src="@drawable/oldlogomenu"/>
<ImageButton
android:layout_width="fill_parent"
android:layout_height="100dp"
android:id="@+id/btn_report_a_hazard"
android:layout_below="@+id/btn_Old_logo"
android:clickable="true"
android:src="@drawable/reportahazardmenu"/>
<ImageButton
android:layout_width="fill_parent"
android:layout_height="100dp"
android:layout_below="@+id/btn_report_a_hazard"
android:id="@+id/btn_Council_Website"
android:clickable="true"
android:src="@drawable/councilwebsitemenu"/>
<ImageButton
android:layout_width="fill_parent"
android:layout_height="100dp"
android:layout_below="@+id/btn_Council_Website"
android:id="@+id/btn_dob_in_a_hoon"
android:clickable="true"
android:src="@drawable/dobinahoonmenu"/>
</RelativeLayout>
</ScrollView>
<HorizontalScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/horizontalScrollView2"
android:layout_gravity="bottom">
<RelativeLayout
android:orientation="horizontal"
android:layout_width="120dp"
android:layout_height="90dp"
android:gravity="bottom"
>
<ImageButton
android:layout_width="120dp"
android:layout_height="90dp"
android:id="@+id/facebook"
android:layout_gravity="center_horizontal"
android:clickable="true"
android:src="@drawable/facebookbutton"
android:scaleType="fitCenter"/>
<ImageButton
android:layout_width="120dp"
android:layout_height="90dp"
android:layout_toRightOf="@+id/facebook"
android:id="@+id/twitter"
android:layout_gravity="center_horizontal"
android:clickable="true"
android:src="@drawable/scclogoold"
android:scaleType="fitCenter"/>
<ImageButton
android:layout_width="120dp"
android:layout_height="90dp"
android:layout_toRightOf="@+id/twitter"
android:id="@+id/contact"
android:layout_gravity="center_horizontal"
android:clickable="true"
android:src="@drawable/contactbutton"
android:scaleType="fitCenter"/>
</RelativeLayout>
</HorizontalScrollView>
</LinearLayout>
我想要做的是将垂直滚动视图的上边缘“固定”到图像视图的下边缘,将垂直滚动视图的下边缘“固定”到水平滚动视图的上边缘。因此,垂直滚动视图将根据设备的屏幕大小进行扩展和缩小。
有人可以解释一下如何实现这一目标吗?
答案 0 :(得分:1)
这是通过在布局中使用layout_weight和WeightSum来实现的。它会响应,例如我得到一个带有2个按钮的水平线性布局我将水平布局的weightSum设置为2,按钮layout_weight设置为1这将导致50%50%的布局共享按钮,它将响应设备的尺寸。