android 的constraintlayout属性说明在哪,有没有官网链接(需要查看的属性如下图,主要是这些)
我个人是想以每个控件的中心位置水平对齐,或者垂直对齐,但是我看提示的属性只有按边界对齐的,难道没有按控件中心对齐的吗
自己调整的,线条都是弯曲的,好像没有对好
<ImageView
android:id="@+id/services_1_1_p"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_marginTop="73dp"
android:src="@drawable/ic_dashboard_black_24dp"
app:layout_constraintEnd_toStartOf="@+id/services_1_2_p"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/services_1_2_p"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_marginTop="73dp"
android:src="@drawable/ic_dashboard_black_24dp"
app:layout_constraintEnd_toStartOf="@+id/services_1_3_p"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/services_1_1_p"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/services_1_3_p"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_marginTop="73dp"
android:src="@drawable/ic_dashboard_black_24dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/services_1_2_p"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/services_1_1"
android:textAlignment="center"
android:layout_width="90sp"
android:layout_height="wrap_content"
android:layout_marginTop="50dp"
android:singleLine="false"
android:text="@string/services_1_1"
app:layout_constraintVertical_chainStyle="spread"
app:layout_constraintEnd_toStartOf="@+id/services_1_2"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/services_1_1_p" />
<TextView
android:id="@+id/services_1_2"
android:textAlignment="center"
android:layout_width="90sp"
android:layout_height="wrap_content"
android:layout_marginTop="50dp"
android:singleLine="false"
android:text="@string/services_1_2"
app:layout_constraintEnd_toStartOf="@+id/services_1_3"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/services_1_1"
app:layout_constraintTop_toBottomOf="@id/services_1_2_p" />
<TextView
android:id="@+id/services_1_3"
android:textAlignment="center"
android:layout_width="90sp"
android:layout_height="wrap_content"
android:layout_marginTop="50dp"
android:singleLine="false"
android:text="@string/services_1_3"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/services_1_2"
app:layout_constraintTop_toBottomOf="@id/services_1_3_p" />
<!--无意义的中心文字-->
<TextView
android:id="@+id/text_services"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:textAlignment="center"
android:textSize="20sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
https://developer.android.google.cn/training/constraint-layout?hl=zh-cn
https://constraintlayout.com/
也可以看看其它人写的文章
https://juejin.cn/post/6949186887609221133
这个功能主要与layout_constraintBaseline_toBaselineOf这个属性有关,首先要知道什么是基线。基线通俗地来讲就是该组件的水平位置上一条居中的线。
基线未对齐:
基线对齐:
那么如何使两个组件的基线对齐呢,以下是示例代码
<TextView
android:id="@+id/组件1"
.../>
<TextView
android:id="@+id/组件2"
...
app:layout_constraintLeft_toRightOf="@+id/组件1"
app:layout_constraintBaseline_toBaselineOf="@+id/组件1"/>