我知道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>
答案 0 :(得分:2)
ConstraintLayout
不支持layout_gravity
。你应该使用
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
使布局居中。