ConstraintLayout中的FrameLayout wrap_content

时间:2016-10-21 14:26:38

标签: android android-constraintlayout android-framelayout

FrameLayout内的我CoordinatorLayout不希望成为wrap_content。当我使用ui工具选择wrap_content时,它不会将其设置为wrap_content,而是设置 48dp 的定义高度。

我也尝试直接在xml文件中设置它并且它可以工作......直到我重新打开文件。我想AS的编辑正在做一些工作并将其高度重置为 48dp

这就是我的布局:

<layout
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">

    <data>

        <import type="android.view.View" />
        <variable
            name="viewModel"
            type="com.mydomain.relationViewModel" />

    </data>

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <ProgressBar
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:indeterminate="true"
            android:layout_centerInParent="true"

            android:visibility="@{viewModel.isLoading() ? View.VISIBLE : View.GONE}"/>

        <android.support.constraint.ConstraintLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:visibility="@{viewModel.isLoading() ? View.INVISIBLE : View.VISIBLE}">

            <TextView
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:id="@+id/hint"
                tools:text="Relation"
                android:layout_marginStart="16dp"
                app:layout_constraintLeft_toLeftOf="parent"
                android:layout_marginLeft="16dp"
                android:text="@string/relationship_spinner_hint"
                android:layout_marginTop="16dp"
                app:layout_constraintTop_toTopOf="parent"
                app:layout_constraintBottom_toBottomOf="@+id/spinner" />

            <Spinner
                android:layout_width="0dp"
                android:layout_height="48dp"
                android:id="@+id/spinner"
                android:dropDownWidth="match_parent"
                android:layout_marginEnd="16dp"
                app:layout_constraintRight_toRightOf="parent"
                android:layout_marginRight="16dp"
                app:layout_constraintLeft_toRightOf="@+id/hint"
                android:layout_marginStart="16dp"
                android:layout_marginLeft="16dp"
                android:layout_marginTop="16dp"
                app:layout_constraintTop_toTopOf="parent"

                app:setOnItemSelectedListener="@{viewModel.relationshipsListener}"/>

            <FrameLayout
                android:layout_width="0dp"
                android:layout_height="48dp"
                app:layout_constraintRight_toRightOf="parent"
                app:layout_constraintLeft_toLeftOf="parent"
                android:id="@+id/search_fragment_container"
                android:layout_marginEnd="16dp"
                android:layout_marginRight="16dp"
                app:layout_constraintHorizontal_bias="0.0"
                app:layout_constraintTop_toBottomOf="@+id/search_patient_title">

            </FrameLayout>

            <Button
                android:text="@string/cancel"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/cancel"
                app:layout_constraintLeft_toLeftOf="parent"
                style="@style/buttonStyle"
                android:layout_marginTop="8dp"
                app:layout_constraintTop_toBottomOf="@+id/search_fragment_container" />

            <TextView
                android:text="@string/search_patient"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/search_patient_title"
                android:layout_marginTop="8dp"
                app:layout_constraintTop_toBottomOf="@+id/spinner"
                android:layout_marginStart="16dp"
                app:layout_constraintLeft_toLeftOf="parent"
                android:layout_marginLeft="16dp"
                tools:text="Recherche du patient"
                style="@style/myTitle" />

        </android.support.constraint.ConstraintLayout>

    </RelativeLayout>

</layout>

这是我的蓝图的截图(选定的布局是FrameLayout):

Blueprint

感谢您的进一步帮助!

修改 与CardView有同样的问题(看似合法,因为它是一个FrameLayout孩子)。

1 个答案:

答案 0 :(得分:1)

正如Google bug ticket所说:

  

固定在主人。

     

随Android Studio 2.3 beta 1发布