How to vertically align and center objects in a constraint layout? You can align it vertically or horizontally, but I have not found a way to center while limiting the views between the two grid lines.
Center vertical alignment: 
Alignment seems to be a huge constraint layout problem, which forces me to revert to the relative layout for centerInParent, centerVertical, and centerHorizontal.
I would like to create a layout in red using the constraint layout: 
Unfortunately, the only way I found without using two grid lines is with the nested Relative and LinearLayouts (in which the Constraint Layout had to solve this exact scenario!).
Layout using relative and linear layout:
<RelativeLayout android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginTop="12dp" app:layout_constraintTop_toBottomOf="@id/user_points" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent"> <LinearLayout android:id="@+id/stat_1_layout" android:layout_width="60dp" android:layout_height="wrap_content" android:layout_marginLeft="12dp" android:layout_marginRight="12dp" android:layout_centerVertical="true" android:layout_toLeftOf="@+id/divider_1" android:orientation="vertical"> <TextView android:id="@+id/stat_1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:gravity="center_horizontal" android:text="10" android:textSize="16dp" android:textColor="@color/textSecondaryDark" android:maxLines="1"/> <TextView android:id="@+id/stat_detail_1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:gravity="center" android:text="Streak" android:textSize="8sp" android:textColor="@color/textSecondary" android:maxLines="1"/> </LinearLayout> <View android:id="@+id/divider_1" android:layout_width="1dp" android:layout_height="38dp" android:layout_toLeftOf="@+id/stat_2_layout" android:background="@drawable/linedivider"/> <LinearLayout android:id="@+id/stat_2_layout" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="18dp" android:layout_marginRight="18dp" android:layout_centerInParent="true" android:orientation="vertical"> <TextView android:id="@+id/stat_2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:gravity="center_horizontal" android:text="243" android:textSize="16dp" android:textColor="@color/textSecondaryDark" android:maxLines="1"/> <TextView android:id="@+id/stat_detail_2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:gravity="center" android:text="Calories Burned" android:textSize="8sp" android:textColor="@color/textSecondary" android:maxLines="1"/> </LinearLayout> <View android:id="@+id/divider_2" android:layout_width="1dp" android:layout_height="38dp" android:layout_toRightOf="@+id/stat_2_layout" android:background="@drawable/linedivider"/> <LinearLayout android:id="@+id/stat_3_layout" android:layout_width="60dp" android:layout_height="wrap_content" android:layout_marginLeft="12dp" android:layout_marginRight="12dp" android:layout_toRightOf="@+id/divider_2" android:layout_centerVertical="true" android:orientation="vertical"> <TextView android:id="@+id/stat_3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:gravity="center_horizontal" android:text="3200" android:textSize="16dp" android:textColor="@color/textSecondaryDark" android:maxLines="1"/> <TextView android:id="@+id/stat_detail_3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:gravity="center" android:text="Steps" android:textSize="8sp" android:textColor="@color/textSecondary" android:maxLines="1"/> </LinearLayout> </RelativeLayout>
android android-constraintlayout
Ray li
source share