android - Android TextViews 重叠
问题描述
我有一个带有多个 TextView 的 RelativeLayout,这些 TextView 在某些情况下具有重叠的动态内容:
第一个例子是有问题的,另外两个是正确的。第一个的首选解决方案是日期的换行符。但我无法解决这个问题,同时将 3 个 TextView 的另外两个示例保持在 2 行。(由于文本是动态的,所有 3 个示例都必须具有相同的 Xml 源代码)
我制作了一个带有静态内容的示例 XML,以便在设计编辑器中对其进行测试:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="vertical">
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingBottom="5dp"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:paddingTop="7dp">
<ImageView
android:id="@+id/tl_team_image"
android:layout_width="65dp"
android:layout_height="70dp"
android:scaleType="fitCenter"/>
<TextView
android:id="@+id/tl_team_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_toRightOf="@+id/tl_team_image"
android:text="Lorem ipsum dolor sit amet consectetur"
android:textSize="60sp"/>
<TextView
android:id="@+id/tl_location_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/tl_team_view"
android:layout_marginLeft="10dp"
android:layout_toRightOf="@+id/tl_team_image"
android:text="Location Number 1"
android:textSize="50sp"/>
<TextView
android:id="@+id/tl_place_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/tl_team_view"
android:layout_marginLeft="10dp"
android:layout_toRightOf="@+id/tl_location_view"
android:gravity="right"
android:text="Some Very Longplace"
android:textSize="50sp"/>
<TextView
android:id="@+id/tl_date_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/tl_location_view"
android:layout_marginLeft="10dp"
android:layout_toRightOf="@+id/tl_team_image"
android:paddingBottom="2dp"
android:text="Tomorrow (August 31, 4 p.m.)"
android:textSize="50sp"/>
</RelativeLayout>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingBottom="5dp"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:paddingTop="7dp">
<ImageView
android:id="@+id/tl_team_image2"
android:layout_width="65dp"
android:layout_height="70dp"
android:scaleType="fitCenter"/>
<TextView
android:id="@+id/tl_team_view2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_toRightOf="@+id/tl_team_image2"
android:text="Lorem ipsum dolor sit amet consectetur"
android:textSize="60sp"/>
<TextView
android:id="@+id/tl_location_view2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/tl_team_view2"
android:layout_marginLeft="10dp"
android:layout_toRightOf="@+id/tl_team_image2"
android:text="Location Number 1"
android:textSize="50sp"/>
<TextView
android:id="@+id/tl_place_view2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/tl_team_view2"
android:layout_marginLeft="10dp"
android:layout_toRightOf="@+id/tl_location_view2"
android:gravity="right"
android:text="A Short Place"
android:textSize="50sp"/>
<TextView
android:id="@+id/tl_date_view2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/tl_location_view2"
android:layout_marginLeft="10dp"
android:layout_toRightOf="@+id/tl_team_image2"
android:paddingBottom="2dp"
android:text="Tomorrow (August 31, 4 p.m.)"
android:textSize="50sp"/>
</RelativeLayout>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingBottom="5dp"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:paddingTop="7dp">
<ImageView
android:id="@+id/tl_team_image3"
android:layout_width="65dp"
android:layout_height="70dp"
android:scaleType="fitCenter"/>
<TextView
android:id="@+id/tl_team_view3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_toRightOf="@+id/tl_team_image3"
android:text="Lorem ipsum dolor sit amet consectetur"
android:textSize="60sp"/>
<TextView
android:id="@+id/tl_location_view3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/tl_team_view3"
android:layout_marginLeft="10dp"
android:layout_toRightOf="@+id/tl_team_image3"
android:text="Location Number 1"
android:textSize="50sp"/>
<TextView
android:id="@+id/tl_place_view3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/tl_team_view3"
android:layout_marginLeft="10dp"
android:layout_toRightOf="@+id/tl_location_view3"
android:gravity="right"
android:text="Some Very Longplace"
android:textSize="50sp"/>
<TextView
android:id="@+id/tl_date_view3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/tl_location_view3"
android:layout_marginLeft="10dp"
android:layout_toRightOf="@+id/tl_team_image3"
android:paddingBottom="2dp"
android:text="September 21, 4 p.m."
android:textSize="50sp"/>
</RelativeLayout>
解决方案
检查你的第三个 TextView
. 它应该放在第二个 textview
下面,而目前你把它放在第一个 textview
下面,因此重叠,同样适用于你的第四个 textview
<ImageView
android:id="@+id/tl_team_image"
android:layout_width="65dp"
android:layout_height="70dp"
android:scaleType="fitCenter"/>
<TextView
android:id="@+id/tl_team_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_toRightOf="@+id/tl_team_image"
android:text="Lorem ipsum dolor sit amet consectetur"
android:textSize="60sp"/>
<TextView
android:id="@+id/tl_location_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/tl_team_view"
android:layout_marginLeft="10dp"
android:layout_toRightOf="@+id/tl_team_image"
android:text="Location Number 1"
android:textSize="50sp"/>
<TextView
android:id="@+id/tl_place_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/tl_location_view"
android:layout_marginLeft="10dp"
android:layout_toRightOf="@+id/tl_location_view"
android:gravity="right"
android:text="Some Very Longplace"
android:textSize="50sp"/>
<TextView
android:id="@+id/tl_date_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/tl_place_view"
android:layout_marginLeft="10dp"
android:layout_toRightOf="@+id/tl_team_image"
android:paddingBottom="2dp"
android:text="Tomorrow (August 31, 4 p.m.)"
android:textSize="50sp"/>
推荐阅读
- python - 带有 Keras 后端的训练模型:无效参数:您必须为占位符张量提供一个值
- javascript - 有没有办法在 Bot Framework Emulator 中提及我的机器人?
- sql - 在 Case 语句中将 DateTime 变量设置为 NULL - SQL
- kubernetes - Kubernetes pod 无法解析主机:
- ms-word - 对于支持“Word 2016”的加载项,究竟支持哪些版本?
- javascript - 开玩笑给出一个未知:无法读取未定义的属性“天气”不知道什么是天气
- javascript - Vue 组件无法读取异步状态更改
- spring-boot - FeignClient 返回 null
- javascript - 从返回未定义的html获取href链接的简单函数,但在被要求时打印链接
- python - 如何在预提交 git hook 上运行 python 包