6

这是很长布局的代码的一部分。所以发布整个代码是没有用的。
我想对齐红色圆圈。两个位置都显示在红色圆圈中。
整个ParentLayout活动是一个RelativeLayout但与此无关。
请帮助我。我已经尝试了所有我知道的东西。

在此处输入图像描述

<LinearLayout 
    android:id="@+id/thumbnail"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_below="@+id/texttitle"
    android:orientation="horizontal"
    android:layout_marginTop="20dp"
    android:layout_marginBottom="20dp"
    android:layout_marginLeft="10dp"
    android:layout_marginRight="10dp"
    android:background="@drawable/Layoutborder"
    >
        <LinearLayout 
          android:id="@+id/Linearimagetop"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:padding="3dip"
          android:layout_alignParentLeft="true"
          android:background="@drawable/image_bg"
          >
            <ImageView
                android:id="@+id/productimage1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@drawable/defaultimage"
                android:layout_below="@+id/texttitle"
                />
        </LinearLayout>
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="5dp"
            >
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Availability "
                android:textColor="@color/black"
                android:textStyle="normal" />  
            <View
                android:layout_width="1dp" 
                android:layout_height="fill_parent"
                android:background="@color/black"
                android:layout_marginLeft="3dp"
                android:layout_marginRight="3dp"/>
            <TextView
                android:id="@+id/availibility"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="In Stock"
                android:textColor="#4A7023"
                android:textStyle="normal" 
                android:layout_marginLeft="3dp"/>
        </LinearLayout>
</LinearLayout>
4

4 回答 4

1

您提供的代码未显示您在“此处”指定 RED 文本属性的位置。您可能只需将其添加为相对布局中的另一个元素,您可以在其中指定可用性和库存,使其与前面的文本对齐。

编辑:(在了解您的实际问题后)

我建议包装在另一个线性布局中,这将使您能够将文本放置在图片上方,如下面的代码所示。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="100dp"
android:orientation="vertical" >

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="20dp" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="right"
        android:orientation="horizontal" >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:text="Availability "
            android:textStyle="normal" />

        <View
            android:layout_width="1dp"
            android:layout_height="fill_parent"
            android:layout_marginLeft="3dp"
            android:layout_marginRight="3dp" />

        <TextView
            android:id="@+id/availibility"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_marginLeft="3dp"
            android:text="In Stock"
            android:textColor="#4A7023"
            android:textStyle="normal" />
    </LinearLayout>
</LinearLayout>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="fill_parent" >

    <LinearLayout
        android:id="@+id/thumbnail"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/texttitle"
        android:layout_marginBottom="20dp"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp"
        android:layout_marginTop="20dp"
        android:orientation="horizontal" >

        <LinearLayout
            android:id="@+id/Linearimagetop"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:padding="3dip" >

            <ImageView
                android:id="@+id/productimage1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/texttitle"
                android:src="@drawable/button" />
        </LinearLayout>
    </LinearLayout>
</LinearLayout>

于 2012-09-06T08:18:35.587 回答
1

如果整个事情都在 RelativeLayout 内,请删除外部 LinearLayout(根据需要将边距等移动到第一个子 LinearLayout),并更改第二个子 LinearLayout(具有 5dp 填充的那个)

android:layout_alignParentRight="true"
android:layout_alignParentTop="true"

如果您不想这样做并且出于某种原因必须保留外部 LinearLayout,请移动

android:layout_marginTop="20dp"

从父LinearLayout到第一个孩子,将第二个孩子的layout_width设置为fill_parent,并添加android:gravity="right"。

于 2012-09-06T08:21:29.387 回答
1

将第三个更改LinearLayout为:

<LinearLayout
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:gravity="right"
    android:padding="5dp" >

不确定您是否对这种布局感到满意。

于 2012-09-06T08:25:45.433 回答
0

这是实现上述输出的另一种方法。希望它可以帮助某人。

<RelativeLayout
    android:id="@+id/thumbnail"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="horizontal"
    android:layout_marginTop="20dp"
    android:layout_marginBottom="20dp"
    android:layout_marginLeft="10dp"
    android:layout_marginRight="10dp"
    android:background="@color/white"
    >
    <LinearLayout 
        android:id="@+id/Linearimagetop"
    android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="3dip"
        android:background="@drawable/image_bg"
        android:layout_alignParentLeft="true"
        >
        <ImageView
            android:id="@+id/productimage1"
        android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/defaultimage"
            android:layout_below="@+id/texttitle"
        />
    </LinearLayout>
    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="5dp"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        >
        <TextView
        android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Availability "
            android:textColor="@color/black"
            android:textStyle="normal" />  
        <View
            android:layout_width="1dp" 
            android:layout_height="fill_parent"
            android:background="@color/black"
            android:layout_marginLeft="3dp"
            android:layout_marginRight="3dp"
            />
        <TextView
            android:id="@+id/availibility"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="In Stock"
            android:textColor="#4A7023"
            android:textStyle="normal" 
            android:layout_marginLeft="3dp"
            />
    </LinearLayout>
</RelativeLayout>
于 2012-09-06T09:51:17.593 回答