当父布局为ConstraintLayout

时间:2018-03-05 09:43:34

标签: android android-layout

我知道layout_gravity =“center”会将当前视图或布局置于其父布局中心。

在我给出的代码示例中,当父级为ConstraintLayout时,第一个TextView和LinearLayout都不能将layout_gravity作为属性。

但是,当第二个TextView和第二个LinearLayout的父级是LinearLayout时,它们可以具有layout_gravity属性。

为什么会这样?

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:text="heey"/>

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"></LinearLayout>

    </LinearLayout>

</android.support.constraint.ConstraintLayout>

1 个答案:

答案 0 :(得分:2)

ConstraintLayout不支持layout_gravity。你应该使用

app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"

使布局居中。