2

我想创建一个布局,根据屏幕尺寸拉伸和占用空间。我想在布局中显示以下内容。

在此处输入图像描述

什么是最好的布局?我可能在想,顶部的线性布局和底部的相对布局,将其与父底部对齐。但是我如何确保它可以拉伸以适应屏幕?

我可以使用layout_weight="1"线性布局来确保它占用屏幕空间,但是高度呢?

4

2 回答 2

2

在相对布局中,您只需设置 useandroid:layout_alignParentBottom = "true"android:layout_alignParentRight = "true"以对齐屏幕。

您可以使用android:layout_width = "match_parent"水平填充屏幕或android:layout_height = "match_parent"垂直填充屏幕。您还可以指定一定数量,例如android:layout_width = "100dp".

我建议您使用 android studio 来查看布局的实时预览,这很有帮助。

于 2013-08-17T21:08:54.340 回答
1

为了使Drawing Cavas大=屏幕和其他组件的1/2小,我认为您应该使用linear layout最外层的布局,并使用layout_weight使画布比其他的更大。使用时layout_weight,应制作子组件的layout_height="0dp". 这是我想出的

<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" >

<TextView
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_margin="5dp"
    android:layout_weight="4"
    android:text="Canvas" />

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_margin="5dp"
    android:layout_weight="1" >

    <Button
        android:layout_width="wrap_content"
        android:layout_height="match_parent" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_toLeftOf="@+id/button" />

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_alignParentRight="true"
        android:layout_centerInParent="true" />
</RelativeLayout>

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_margin="5dp"
    android:layout_weight="2" >

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:text="Image" />

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:layout_marginRight="50dp" /><!--Hard coded should be avoided. It depends on the screen size.-->
</RelativeLayout>

<TextView
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1" />
</LinearLayout>
于 2013-08-17T21:51:06.130 回答