我无法使用最新的API准则来约束和包装TextViewCompat窗口小部件的内容(具有约束布局根的片段的直接子级)。我正在尝试对高度和宽度都进行包装和约束。
https://developer.android.com/reference/android/support/constraint/ConstraintLayout
WRAP_CONTENT:强制执行约束(在1.1中添加)
如果将尺寸设置为WRAP_CONTENT,则在1.1之前的版本中 将被视为字面量纲-意味着约束 不限制结果尺寸。虽然一般来说就足够了 (并且速度更快),在某些情况下,您可能需要使用WRAP_CONTENT, 并继续执行约束以限制结果尺寸。在 在这种情况下,您可以添加相应的属性之一:
app:layout_constrainedWidth=”true|false” app:layout_constrainedHeight=”true|false”
<android.support.constraint.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">
<android.support.v7.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constrainedWidth="true"
app:layout_constrainedHeight="true"/>
我也尝试使用旧的API,如下所示:
android:layout_height="0dp"
app:layout_constraintHeight_default="wrap"
但它不包装AppCompatTextView。
就我阅读文档而言,应该可以同时限制尺寸的高度和宽度。
但是,成功包装和约束AppCompatTextView的 height 的唯一方法是消除高度的约束,如下所示:
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constrainedWidth="true"
这似乎是片状解决方案。 而且似乎这不是我的故意行为。我了解在Constraint Layout 1.1+约束+换行中应该起作用。它曾经与以前的API配合使用(请参见上文),但现在不适用于任何一个API。
我想念什么吗?这是错误吗? 不胜感激!
编辑:也有另一个想法,并根据API文档尝试了此方法,但仍未成功:
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintWidth_min="wrap"
app:layout_constraintWidth_max="wrap"
app:layout_constraintHeight_min="wrap"
app:layout_constraintHeight_max="wrap"