我在列表项中有一个textView,下面有另一个文本视图。 我一次又一次地面对一个问题,即文本增加时。上面的文本视图会覆盖下面的文本视图,或者下面的文本视图会显示在上面的文本视图之上。
RelativeLayout中的我的XML是:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tp_activity_wise_badge_fragment_each_item"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/tp_White"
android:minHeight="60dp">
<TextView
android:id="@+id/textview1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_centerVertical="true"
android:layout_marginLeft="23dp"
android:layout_marginStart="23dp"
android:text="Loading Title..."
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="#737574"
android:textSize="15dp"
android:textStyle="bold" />
<TextView
android:id="@+id/textview3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/textview1"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_alignTop="@+id/textview1"
android:layout_centerVertical="true"
android:layout_marginEnd="23dp"
android:layout_marginRight="23dp"
android:background="@color/tp_White"
android:gravity="center_vertical|center_horizontal"
android:maxLines="2"
android:text="Loading..."
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="#737574"
android:textSize="15dp" />
<TextView
android:id="@+id/textview2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Loading Subtitle..."
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="@color/tp_inactive_channel_text_color"
android:textSize="11dp"
android:layout_below="@+id/textview1"
android:layout_alignLeft="@+id/textview1"
android:layout_alignStart="@+id/textview1" />
我知道这是一个非常基本的问题,但这对我来说是非常不确定的,我无法定位这些观点,以至于他们不会互相切割。 任何帮助将不胜感激。
答案 0 :(得分:1)
您需要在代码中使用layout_alignParentRight
。
设置边距以设置视图
的方式不正确<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tp_activity_wise_badge_fragment_each_item"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/tp_White"
android:minHeight="60dp">
<TextView
android:id="@+id/textview1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Loading Title..."
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="#737574"
android:textSize="15dp"
android:textStyle="bold" />
<TextView
android:id="@+id/textview3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/textView1"
android:layout_alignParentRight="true"
android:gravity="right"
android:background="@color/tp_White"
android:maxLines="2"
android:text="Loading..."
android:textColor="#737574"
android:textSize="15dp" />
<TextView
android:id="@+id/textview2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Loading Subtitle..."
android:textSize="11dp"
android:layout_below="@id/textview1"
/>
答案 1 :(得分:1)
您应该使用LinearLayout(只需复制并粘贴)
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tp_activity_wise_badge_fragment_each_item"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_margin="25dp"
>
<LinearLayout
android:layout_width="match_parent"
android:orientation="horizontal"
android:layout_marginBottom="10dp"
android:layout_height="wrap_content">
<TextView
android:id="@+id/textview1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Loading Title..."
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="#737574"
android:textSize="15dp"
android:textStyle="bold" />
<TextView
android:id="@+id/textview3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="right"
android:text="Loading..."
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="#737574"
android:textSize="15dp" />
</LinearLayout>
<TextView
android:id="@+id/textview2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Loading Subtitle..."
android:textAppearance="?android:attr/textAppearanceSmall"
android:textSize="11dp"
/>
</LinearLayout>
答案 2 :(得分:1)
您希望通过撰写android:layout_alignTop="@+id/textview1"
并同时android:layout_alignBottom="@+id/textview1"
来实现目标。
相反,您可以尝试android:layout_below="@+id/textview1"
这会使您的textview
垂直对齐。