0

我需要一个带有 5 个 textview 元素的 android 布局。布局应该是这样的:

动态大文本 1 动态大文本 2
动态小文本1 动态小文本2 动态小文本3

由于所有 textview 元素都可以使其内容文本增长/缩小(动态),因此我特别需要正确定位这两个元素(DynamicSmallText2 和 DynamicSmallText3),因为这两个元素之间存在固定空间。例如,当 DynamicSmallText2 在上下文中增长时,文本 id 不应与 DynamicSmallText3 重叠并且相反。

我希望有人可以帮助我,谢谢。

Smalltext2 和 SmallText3 在我的代码中重叠?

<RelativeLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:padding="10dp">

<TextView
        android:id="@+id/largeText1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="largeText1" />

<TextView
        android:id="@+id/smallText1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="smallText1"
        android:layout_below="@id/largeText1"/>


<TextView
        android:id="@+id/largeText2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="largeText2"
        android:layout_alignParentRight="true"/>

<TextView
        android:id="@+id/smallText2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="largeText2"
        android:layout_alignParentRight="true"
        android:layout_below="@id/largeText2"
        android:layout_marginRight="10dp"/>

<TextView
        android:id="@+id/smallText3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="smallText3"
        android:layout_alignParentRight="true"
        android:layout_below="@id/largeText2"
        android:layout_toLeftOf="@id/smallText2"/>

</RelativeLayout>
4

3 回答 3

0

使用 RelativeLayout 而不是 LinearLayout,然后在“android:layout_below="@+id/textView1" 的 TextView 声明中添加属性,例如在 textView2 中,这将使 textView2 始终低于 1。

于 2013-10-18T10:49:29.440 回答
0

存在不能同时满足的相互冲突的布局参数。要获得您想要的结果,请android:layout_alignParentRight="true"smallText3.

于 2013-10-18T11:48:56.480 回答
0

像这样使用重量概念

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >

    <LinearLayout
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="2"
        android:orientation="vertical" >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Text 1" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Text 2" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="3"
        android:gravity="bottom|right"
        android:orientation="vertical" 
        >

        <TextView
          android:layout_marginRight="10dp"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Text 3" />
    </LinearLayout>

    <LinearLayout
        android:gravity="right"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="2"
        android:orientation="vertical" >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Text 4" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Text 5" />
    </LinearLayout>

</LinearLayout>

修改了相对布局的代码

<TextView
        android:id="@+id/smallText3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/smallText2"
        android:layout_alignBottom="@+id/smallText2"
        android:layout_toLeftOf="@+id/smallText2"
        android:text="smallText3" />
于 2013-10-18T10:52:25.907 回答