Android:ConstraintLayout在SDK 4.1.x上有不同的行为

时间:2017-05-15 08:57:36

标签: android android-constraintlayout

我有这个简单的布局:

<android.support.constraint.ConstraintLayout
            android:id="@+id/main_layout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:layout_constraintTop_toTopOf="parent"
            android:paddingLeft="@dimen/keyline_1">

            <com.xxx.ui.widget.CustomTextViewFont
                android:id="@+id/title"
                style="@style/FlatCardTitle"
                android:paddingTop="@dimen/keyline_1"
                android:layout_marginRight="@dimen/keyline_1"
                app:layout_constraintLeft_toLeftOf="parent"
                app:layout_constraintRight_toLeftOf="@+id/actions_layout"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:maxLines="2"
                android:ellipsize="end"
                app:customFont="OpenSans-CondBold.ttf" />

            <FrameLayout
                android:id="@+id/actions_layout"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                app:layout_constraintRight_toRightOf="parent"
                android:visibility="gone">

                .....
            </FrameLayout>

       .....
 </android.support.constraint.ConstraintLayout>

在Android 5.x上, actions_layout 正确位于视图右侧。但是在4.1.x中, actions_layout 仍在左侧。

感谢您的支持!

1 个答案:

答案 0 :(得分:2)

我遇到了同样的问题。指定顶部和底部约束对我有帮助。 试试这种方式。

    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintHorizontal_bias="1"