android - 两个textview一个接一个不使用LinearLayout权重
问题描述
我想创建一个视图,它将包含两个 textView,一个一个到另一个(见图),不使用 LinearLayout 权重(这对性能不利)。
现在,我有一个限制,但我的黄色文本总是在最后。如何使一个文本彼此相接(不将一个文本放在另一个文本之下)而不使用 Spannable 或 String(仅在 xml 中)?
<android.support.constraint.ConstraintLayout
android:id="@+id/personalInfo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal">
<TextView
android:id="@+id/personalBonusPromoName"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="3dp"
android:ellipsize="end"
android:maxLines="1"
android:textColor="@color/white"
android:textSize="18sp"
android:textStyle="bold"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toStartOf="@+id/personalInfoBlock"
tools:text="Very long text very long text"
tools:textColor="@color/black" />
<LinearLayout
android:id="@+id/personalInfoBlock"
android:layout_width="0dp"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintS_toStartOf="@+id/personalBonusPromoName"
android:orientation="horizontal">
<TextView
android:id="@+id/personalBonusPromoAmount"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginStart="3dp"
android:textColor="@color/goldenyellow"
android:textSize="18sp"
android:textStyle="bold"
tools:text="1000000" />
</LinearLayout>
</android.support.constraint.ConstraintLayout>
解决方案
使用ConstraintLayout,解决方案如下:
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/first_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="first text"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/second_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="second text"
app:layout_constraintStart_toEndOf="@id/first_text"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
推荐阅读
- ios - 如何快速获得这个周末的约会?
- java - 如何使用 .so 文件 linux 打包所有需要的库
- php - 如何在codeigniter的动态菜单中设置树视图
- wordpress - 无法按照我想要的方式编辑英雄小部件
- jquery - 如何显示使用 jQuery 添加/删除字段添加的字段数?
- android - 从右到左增加视图宽度
- swift - 字典映射认为 String 是 String Array
- java - 测试基于注解的 RequestInterceptor
- react-native - react-native-push-notification 无法在 android 中构建
- javascript - Sinon Stub JavaScript 方法链