首页 > 解决方案 > ConstraintLayout 占位符视图不会覆盖尺寸

问题描述

我正在尝试使用新的约束布局占位符,但我遇到了困难,因为如果将 0 以外的宽度/高度值提供给占位符,它将无法正常工作。

这是我的子视图,应该将视图注入模板。请注意,宽度和高度设置为 match_constraint 和 wrap_content

   <android.support.constraint.ConstraintLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <TextView
                android:id="@+id/dialog_content"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                tools:layout_height="30dp" />

            <include
                layout="@layout/view_full_screen_dialog_template"/>
    </android.support.constraint.ConstraintLayout>

这是我用于占位符的代码

  <android.support.constraint.Placeholder
        android:id="@+id/template_dialog_content"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        tools:text="asasdasdasdasdasdasdasdasdasdasdf"
        app:content="@+id/dialog_content"
        app:layout_constraintBottom_toTopOf="@+id/w_buttons"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/dialog_title" />

如您所见,我也将 laout_height 设置为 wrap_content ,这(不知何故)强制设计器中的布局在整个视图中被拉伸。

问题是文本视图的行为很奇怪,被剪切了,只占用了 2dp 的内容。如果我将占位符的宽度/高度设置为 0dp,它会正常工作。

TL;DR 占位符宽度/高度值可以不同于 0 以使其正常工作吗?它们可以被覆盖吗?

标签: androidxmlconstraintsplaceholder

解决方案


推荐阅读