我使用一个列表来显示一堆包含多个文本的项目。我想在每个项目中有2个TextView对象。我的问题是,当用户更改文本大小时,我无法调整属性以保持正常(例如:当用户有眼睛问题时,他可能会增加系统字体大小。)这完全破坏了我的观点。
第一个文本应该在我的布局中心之上,第二个文本应该在中心之下,但它们不应该在不同的字体大小上“合并”。我想在文本中插入一个View并将文本格式化为相对于中心(不可见)视图放置,但听起来有点hackish和无效。什么是最好的方法?
我当前的布局文件:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="72dp">
<android.support.v7.widget.AppCompatImageView
android:id="@+id/icon"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_centerVertical="true"
android:layout_marginLeft="16dp"
android:layout_marginStart="16dp"/>
<android.support.v7.widget.AppCompatTextView
android:id="@+id/upper_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignTop="@+id/icon"
android:layout_marginEnd="16dp"
android:layout_marginRight="16dp"
android:layout_marginTop="16dp"
android:layout_marginLeft="16dp"
android:layout_toEndOf="@id/icon"
android:layout_toRightOf="@+id/icon"
android:singleLine="true"
android:textSize="16sp" />
<android.support.v7.widget.AppCompatTextView
android:id="@+id/lower_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/upper_text"
android:layout_alignParentBottom="true"
android:layout_alignStart="@+id/upper_text"
android:layout_marginBottom="16dp"
android:layout_marginEnd="16dp"
android:layout_marginRight="16dp"
android:singleLine="true"
android:textSize="14sp" />
</RelativeLayout>
我知道我应该摆脱底部边缘和对齐父亲的东西,但我不知道该怎么做。