1

我有这样的相对观点:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/linkCardView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@layout/login_gradient_bg"
        >

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" 
        android:layout_marginLeft="6dp"
        android:layout_marginRight="6dp"
        android:layout_marginTop="4dp"
        android:layout_marginBottom="4dp"
        android:background="@drawable/card_bg">

        <TextView
            android:id="@+id/linkTitle0001"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_toRightOf="@+id/faviconView0001"
            android:paddingLeft="4dp"
            android:lineSpacingExtra="-2dp"
            android:fontFamily="sans-serif-condensed"
            android:maxLines="2"
            android:text="@string/link_title_001"
            android:textColor="#717171"
            android:textSize="17sp" />

        <TextView
            android:id="@+id/linkDesc0001"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/faviconView0001"
            android:paddingBottom="4dp"
            android:fontFamily="sans-serif"
            android:maxLines="1"
            android:text="@string/link_desc_001"
            android:textColor="#acacac"
            android:textSize="13sp"   />

        <ImageView
            android:id="@+id/faviconView0001"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:paddingTop="6dp"
            android:paddingBottom="7dp"
            android:src="@drawable/favicon_example" />

        <ImageView
            android:id="@+id/labelSource0001"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/linkDesc0001"
            android:background="@drawable/card_label" />






    </RelativeLayout>

</FrameLayout>

我想增加relativeLayout的大小,用linkTitle0001 TextView填充的文本长度。我该如何做到这一点?

4

2 回答 2

2
Try this:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/linkCardView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@layout/login_gradient_bg"
        >

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" 
        android:layout_marginLeft="6dp"
        android:layout_marginRight="6dp"
        android:layout_marginTop="4dp"
        android:layout_marginBottom="4dp"
        android:background="@drawable/card_bg">

        <ImageView
            android:id="@+id/faviconView0001"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:paddingTop="6dp"
            android:paddingBottom="7dp"
            android:src="@drawable/favicon_example" />


        <TextView
            android:id="@+id/linkTitle0001"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_toRightOf="@+id/faviconView0001"
            android:paddingLeft="4dp"
            android:lineSpacingExtra="-2dp"
            android:fontFamily="sans-serif-condensed"
            android:maxLines="2"
            android:text="@string/link_title_001"
            android:textColor="#717171"
            android:textSize="17sp" />

        <TextView
            android:id="@+id/linkDesc0001"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/faviconView0001"
            android:paddingBottom="4dp"
            android:fontFamily="sans-serif"
            android:maxLines="1"
            android:text="@string/link_desc_001"
            android:textColor="#acacac"
            android:textSize="13sp"   />


        <ImageView
            android:id="@+id/labelSource0001"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/linkDesc0001"
            android:background="@drawable/card_label" />

    </RelativeLayout>

</FrameLayout>

For Textview linkTitle0001, try to put below something or align baseline with someone as per your need.
于 2013-08-16T04:41:56.263 回答
0

因为你没有规则来阻止它。source0001 低于 desc0001,低于 favIcon0001。标题在图标的右边,但这并不意味着它下面的东西不能重叠。基本上,layout_below 不会阻​​止它比该项目更正确。您要么需要强制所有其他人与 favicon 对齐(因此他们根本无法进入 favion 的右侧),要么需要在所有这些项目上设置规则以布局到标题的左侧。

于 2013-08-16T04:52:31.267 回答