在约束布局中,我有一个文本视图和一个相邻的图片视图:
但有时文本视图中的文本可能非常长,有时会跨越多行。在这些情况下,图像视图会被推出视图之外:
即使在图像视图和视图容器之间添加了约束,图像视图也会被推到视图之外。
目标是始终将图像放在文本旁边,如果文本增大,则图像开始向侧面推移,只要不超出视图范围。当它接触视图的边界时,应该停留在那里,而文本则换行到下一行。
此代码块仅显示第二张图片的情况:
我尝试使用屏障和指南,但它们对这种情况真的没有用。 Textview需要是wrap_content,因为它的大小是可变的,并且最好使用约束布局,这就是为什么我没有使用其他布局的原因。链在这里也不起作用。
目标是始终将图像放在文本旁边,如果文本增大,则图像开始向侧面推移,只要不超出视图范围。当它接触视图的边界时,应该停留在那里,而文本则换行到下一行。
此代码块仅显示第二张图片的情况:
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.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="match_parent"
tools:context=".MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textView" android:layout_marginTop="8dp"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintStart_toStartOf="parent"
android:layout_marginStart="8dp"
tools:text="This is a cat with a lot more text next to it so pay attention "/>
<ImageView
android:layout_width="30dp"
android:layout_height="30dp" tools:srcCompat="@tools:sample/avatars[3]"
android:id="@+id/imageView"
app:layout_constraintStart_toEndOf="@+id/textView" android:layout_marginStart="8dp"
android:layout_marginTop="8dp" app:layout_constraintTop_toTopOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.0"/>
</androidx.constraintlayout.widget.ConstraintLayout>
我尝试使用屏障和指南,但它们对这种情况真的没有用。 Textview需要是wrap_content,因为它的大小是可变的,并且最好使用约束布局,这就是为什么我没有使用其他布局的原因。链在这里也不起作用。