0

我在这里为 Android 布局而苦苦挣扎,这看起来应该很简单,但并不快乐,一个简单的线性布局会导致显示的图像:

在此处输入图像描述

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#ffffff"
    android:minWidth="25px"
    android:minHeight="100dp">
    <TextView
        android:text="Last Game"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/textView1"
        android:gravity="center_horizontal"
        android:background="#003300" />
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#ffffff">
        <ImageView
            android:src="@android:drawable/ic_menu_gallery"
            android:layout_width="80dp"
            android:id="@+id/imageView1"
            android:layout_gravity="left"
            android:layout_height="80dp" />
        <TextView
            android:textColor="#000000"
            android:text="WR"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:id="@+id/textView2"
            android:gravity="right"
            android:paddingRight="5dp" />
        <View
            android:background="#000000"
            android:layout_width="1dp"
            android:layout_height="fill_parent"
            android:id="@+id/view1"
            android:layout_gravity="center_horizontal" />
        <TextView
            android:textColor="#000000"
            android:text="LR"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:id="@+id/textView3"
            android:gravity="left"
            android:paddingLeft="5dp" />
        <ImageView
            android:src="@android:drawable/ic_menu_gallery"
            android:layout_gravity="right"
            android:layout_width="80dp"
            android:id="@+id/imageView1"
            android:layout_height="80dp" />
    </LinearLayout>
</LinearLayout>

我想要的是左边的图像在左边距(左对齐)右边的图像在右边距(右对齐)垂直条总是居中而WR右对齐靠近中心和LR左对齐靠近中心。

我应该使用相对布局吗?

4

3 回答 3

1

您需要最适合您要求的 FrameLayout 使用下面的布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:orientation="vertical"
          android:layout_width="fill_parent"
          android:layout_height="fill_parent"
          android:background="#ffffff"
          android:minWidth="25px"
          android:minHeight="100dp">
<TextView
        android:text="Last Game"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/textView1"
        android:gravity="center_horizontal"
        android:background="#003300" />
<FrameLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#ffffff">
    <ImageView
            android:src="@android:drawable/ic_menu_gallery"
            android:layout_width="80dp"
            android:id="@+id/imageView1"
            android:layout_gravity="left"
            android:layout_height="80dp" />
    <TextView
            android:textColor="#000000"
            android:text="WR"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:id="@+id/textView2"
            android:layout_gravity="center_horizontal"
            android:layout_marginLeft="25dp"
            />
    <View
            android:background="#000000"
            android:layout_width="1dp"
            android:layout_height="80dp"
            android:id="@+id/view1"
            android:layout_gravity="center_horizontal" />
    <TextView
            android:textColor="#000000"
            android:text="LR"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:id="@+id/textView3"
            android:layout_gravity="center_horizontal"
            android:layout_marginRight="25dp"
            />
    <ImageView
            android:src="@android:drawable/ic_menu_gallery"
            android:layout_gravity="right"
            android:layout_width="80dp"
            android:id="@+id/imageView1"
            android:layout_height="80dp" />
</FrameLayout>
</LinearLayout>
于 2013-04-08T14:42:26.023 回答
1

我会。您可以使用

android:layout_alignParentLeft="true"

android:layout_alignParentRight="true"

对于图像,分别。然后使用

android:layout_centerHorizontal="true"

为您的线路和

android:layout_toLeftOf="id"  // enter id of line

android:layout_toRightOf="id" // enter id of line

将您TextView的 s 放在该行的任一侧并padding根据需要添加

于 2013-04-08T14:46:41.033 回答
0

相对布局。使左侧图像 layout_alignParentLeft=true。使中心线 layout_centerHorizo​​ntal=true。使 WR layout_align_toLeftOf="id of line" 并具有重力="right"。在另一侧以相反的方向重复。

于 2013-04-08T14:46:09.483 回答