我在textview的imageview的右边使用了这个layout_constraintWidth_default =“ wrap”来保持textview的内容被包裹,并且随着textview中文本的增长,textview的区域变大,这将imageview移到了textview的右边。 >
layout_constraintWidth_default="wrap"
因为它已被替代?
Logcat
答案 0 :(得分:3)
Android开发者在文档中link中所述:
在1.1之前的版本中,它们将被视为字面量纲-意味着约束不会限制结果量纲。通常,这足够了(并且更快),但在某些情况下,您可能想使用WRAP_CONTENT,但仍要强制执行约束以限制结果尺寸。在这种情况下,您可以添加相应的属性之一:
app:layout_constrainedWidth="true|false"
因此,请使用layout_constrainedWidth="true"
代替layout_constraintWidth_default="wrap"
。
答案 1 :(得分:2)
您可以尝试以下方法:
android:layout_width="wrap_content"
app:layout_constrainedWidth="true"
宽度不能为“ 0dp”
答案 2 :(得分:0)
如果维度设置为 WRAP_CONTENT
,则在版本 1.1之前的版本中,它们将被视为文字维度,意味着约束不会限制结果尺寸。
通常要求视图的宽度或高度保持不变 内容,而不是匹配约束或匹配父项,但不幸的是 包装内容会覆盖应用的约束并与 宽度或高度变化时的约束。对于版本1.1.0,此问题 通过使用
解决
app:layout_constrainedWidth="true" OR app:layout_constrainedHeight="true"
仅供参考
您可以将 percentage
用于宽度和高度,尺寸应为 match constraint(0dp)
和 app:layout_constraintWidth_default="percent"
>或 app:layout_constraintHeight_default="percent"
需要设置为百分比。
示例
<TextView
android:id="@+id/txtView"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="Hello Width In Percentage"
app:layout_constraintWidth_default="percent"
app:layout_constraintWidth_percent="0.5"
app:layout_constraintLeft_toLeftOf="parent" />
GRADLE
implementation 'androidx.constraintlayout:constraintlayout:1.1.3' // For androidx
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
答案 3 :(得分:0)
以下是我为解决方案所做的更改,imageview不会超出可见屏幕区域:
android:layout_width="wrap_content"
app:layout_constrainedWidth="true"
app:layout_constraintHorizontal_bias="0"
app:layout_constraintHorizontal_chainStyle="packed"
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Text asdasdasdasdasdasdasdasdasdadsasdasdasdasdasdasdasd"
app:layout_constrainedWidth="true"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/image"
app:layout_constraintHorizontal_bias="0"
app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/ic_launcher"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/text"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>