如何使用layout xml实现如下布局?

时间:2015-07-14 08:06:56

标签: android android-layout

Layout that I want to Achieve

在下面的布局中有两个TouchImageViews。我想要实现的是,对于任何设备,这两个TouchImageViews保持在中心,并且它们的高度应该是设备高度的1.5。每个TouchImageView宽度应为设备宽度的一半。如图所示,其他东西的顶部和底部应该有空间。

修改 对不起,我的错误是我需要0.75高度的TouchImageView设备高度。

2 个答案:

答案 0 :(得分:0)

您可以尝试使用相对布局。

<RelativeLayout>
    <FrameLayout android:id="@+id/flSpaceOne">Space for other stuff</FrameLayout>
    <LinearLayout android:layout_below="android:id="@+id/flSpaceOne" android:layout_above="android:id="@+id/flSpaceTwo">
        <ImageView android:layout_weight="1" ></ImageView>
        <ImageView android:layout_weight="1" ></ImageView>
    </LinearLayout>
    <FrameLayout android:id="@+id/flSpaceTwo" android:align_parent_bottom="true">Space for other stuff</FrameLayout>
</RelativeLayout>

要设置图像布局的高度,您需要通过设置线性布局的高度以编程方式设置它。

答案 1 :(得分:0)

<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:background="@android:color/white"
    android:orientation="vertical"
    android:weightSum="4" >

    <LinearLayout
        android:id="@+id/ll_one"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="top"
        android:layout_weight="1"
        android:background="@android:color/black"
        android:orientation="horizontal" />

    <LinearLayout
        android:id="@+id/ll_two"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical|center_horizontal"
        android:orientation="horizontal"
        android:layout_weight="2" 
        android:background="@android:color/darker_gray"
        android:weightSum="2">

    <ImageView
        android:id="@+id/im_one"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:layout_gravity="left"
        android:background="@android:color/white" 
        android:layout_weight="1"/>

    <ImageView
        android:id="@+id/in_two"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:layout_gravity="right"
        android:background="@android:color/white"
        android:layout_weight="1" />

    </LinearLayout>

    <LinearLayout
        android:id="@+id/ll_three"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom"
        android:layout_weight="1"
        android:background="@android:color/black"
        android:orientation="horizontal" />

</LinearLayout>