0

我需要在另一个以父级为中心的 TextView 下方放置一个 TextView:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/relative_row_product"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:padding="8dp" >

    <ImageView
        android:id="@+id/imageview_product"
        android:layout_width="70dp"
        android:layout_height="70dp"
        android:layout_marginRight="20dp"
        android:contentDescription="@string/product" >
    </ImageView>

    <TextView
        android:id="@+id/textview_title_product"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:layout_toRightOf="@id/imageview_product"
        android:textSize="16sp"
        android:textStyle="bold" >
    </TextView>

    <TextView
        android:id="@+id/textview_category_product"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/textview_title_product"
        android:layout_toRightOf="@id/imageview_product"
        android:textColor="@color/gray"
        android:textSize="14sp" >
    </TextView>

</RelativeLayout>

textview_category_product 导致与第一个 TextView 重叠(似乎忽略了 centerInparent 标志)。我怎样才能做到这一点?非常感谢。

4

3 回答 3

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:orientation="vertical"
    >
    <LinearLayout 
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    >
    <ImageView
        android:id="@+id/imageview_product"
        android:layout_width="70dp"
        android:layout_height="70dp"
        android:layout_marginRight="20dp"
        android:contentDescription="@string/product" >
    </ImageView>

    <TextView
        android:id="@+id/textview_title_product"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="16sp"
        android:gravity="center"
        android:layout_gravity="center"   
        android:textStyle="bold" >
    </TextView>
    </LinearLayout>

    <TextView
        android:id="@+id/textview_category_product"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:layout_gravity="center"   
        android:textColor="@color/gray"
        android:textSize="14sp" >
    </TextView>


</LinearLayout>
于 2013-09-22T16:54:08.130 回答
0

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/relative_row_product"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:padding="8dp" >

它应该是

android:layout_height="match_parent"

代替

android:layout_height="wrap_content"

android:layout_height="wrap_content" 将布局的高度设置为视图所需的最大高度。它不会让它填满整个屏幕。所以 centerInParent 不会在你的屏幕上居中!

而且,在

<TextView
        android:id="@+id/textview_title_product"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:layout_toRightOf="@id/imageview_product"
        android:textSize="16sp"
        android:textStyle="bold" >
</TextView>

我不认为 centerInParent 和 toRightOf 应该在一起。相反,仅在您的 textview_title_product 上使用 centerInParent 并使用

android:layout_toLeftOf="@id/textview_title_product"

在你的 imageView

希望能帮助到你 :)

于 2013-09-22T19:13:17.933 回答
0
// try this
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/relative_row_product"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:padding="8dp" >

    <ImageView
        android:id="@+id/imageview_product"
        android:layout_width="70dp"
        android:layout_height="70dp"
        android:layout_marginRight="20dp"
        android:contentDescription="@string/product" >
    </ImageView>

    <LinearLayout
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:orientation="vertical"
        android:gravity="center">
        <TextView
            android:id="@+id/textview_title_product"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="16sp"
            android:text="First TextView"
            android:textStyle="bold" >
        </TextView>

        <TextView
            android:id="@+id/textview_category_product"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textColor="@android:color/darker_gray"
            android:text="Second TextView"
            android:textSize="14sp" >

        </TextView>

    </LinearLayout>
</LinearLayout>
于 2013-09-23T04:12:55.347 回答