我在TextViews
内有两个ConstraintLayout
。一个位于左上方,另一个位于第一个右侧。没什么了不起的。现在,第一个视图可以变宽,将第二个视图推向更右侧。我想要的是第二个视图始终保持在父视图的范围内。
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingStart="20dp"
android:background="#FFFFFF"
android:paddingEnd="20dp">
<TextView
android:id="@+id/text1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Text 1"
android:ellipsize="end"
android:maxLines="1"
android:background="#FF0000"/>
<TextView
android:id="@+id/text2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintStart_toEndOf="@id/text1"
android:text="Text 2"
android:maxLines="1"
android:background="#00FF00"/>
...
应该发生的是第二个视图位于父级的右上角,第一个视图占用剩余的可用空间。我有什么方法可以在ConstraintLayout
中执行此操作吗?
答案 0 :(得分:0)
您可以在android:maxWidth
中使用固定号码的activity_main.xml
,但这并不好,因为每部手机都有不同的屏幕尺寸,所以我建议您使用代码进行设置,您可以{{1 } setMaxWidth
跟随text1
和text2
的宽度:
constraintLayout
答案 1 :(得分:0)
我可以看到的在ConstraintLayout中执行此操作的唯一方法是使2个textView成为一个链并将layout_constrainedWidth
应用于第一个文本视图,以便第二个文本视图获得优先级:
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:background="#fff"
tools:layout_width="200dp">
<TextView
android:id="@+id/text1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#FF0000"
android:ellipsize="end"
android:maxLines="1"
android:text="Text 1"
app:layout_constrainedWidth="true"
app:layout_constraintEnd_toStartOf="@id/text2"
app:layout_constraintHorizontal_bias="0"
app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintStart_toStartOf="parent" />
<TextView
android:id="@+id/text2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#00FF00"
android:maxLines="1"
android:text="Text 2"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/text1" />
</android.support.constraint.ConstraintLayout>
短文本1:
长文本1: