TextView低于中心TextView

时间:2013-09-22 16:40:20

标签: android android-layout textview relativelayout

我需要将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标志)。我怎样才能做到这一点?非常感谢。

3 个答案:

答案 0 :(得分: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>

答案 1 :(得分: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"
中的

希望有所帮助:)

答案 2 :(得分: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>