dynamic height alignment in constraintlayout

mario :

I have 3 textview in which the text can change dynamically, I need to make them equal to each other, whose height is greater than that height and take for all. I'm trying using barriers but don't get positive result, also i try set all textviews height 0dp but all textviews then disappeared, i can set the height for one textview wrap_content and for another 0dp but then they will be equal only in the first textview. When I used linearlayout I did it, but with constraintlayout i don't understand how do it. enter image description here

xml:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:id="@+id/label_zone1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginStart="10dp"
        android:layout_marginEnd="15dp"
        android:fontFamily="@font/gothic_bold"
        android:gravity="center"
        android:text="test 1"
        android:textAllCaps="true"
        android:textColor="@color/blue"
        android:textSize="18sp"
        app:layout_constraintEnd_toStartOf="@+id/label_zone2"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintHorizontal_weight="1"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <TextView
        android:id="@+id/coefficient_zone1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:fontFamily="@font/gothic"
        android:gravity="center"
        android:text="text="
        android:textAllCaps="true"
        android:textColor="@color/blue"
        android:textSize="14sp"
        app:layout_constraintEnd_toEndOf="@+id/label_zone1"
        app:layout_constraintStart_toStartOf="@+id/label_zone1"
        app:layout_constraintTop_toBottomOf="@+id/label_zone1" />

    <TextView
        android:id="@+id/consumption_zone1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginTop="5dp"
        android:background="@drawable/input_border"
        android:fontFamily="@font/gothic"
        android:gravity="center|center_vertical"
        android:text="1234567"
        android:textColor="@color/orange"
        android:textSize="24sp"
        app:layout_constraintBottom_toBottomOf="@+id/barrier2"
        app:layout_constraintEnd_toEndOf="@+id/coefficient_zone1"
        app:layout_constraintStart_toStartOf="@+id/coefficient_zone1"
        app:layout_constraintTop_toBottomOf="@+id/barrier" />

    <TextView
        android:id="@+id/label_zone2"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginEnd="15dp"
        android:fontFamily="@font/gothic_bold"
        android:gravity="center"
        android:text="test 2"
        android:textAllCaps="true"
        android:textColor="@color/blue"
        android:textSize="18sp"
        app:layout_constraintEnd_toStartOf="@+id/label_zone3"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintHorizontal_weight="1"
        app:layout_constraintStart_toEndOf="@+id/label_zone1"
        app:layout_constraintTop_toTopOf="@+id/label_zone1" />

    <TextView
        android:id="@+id/coefficient_zone2"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:fontFamily="@font/gothic"
        android:gravity="center"
        android:text="text="
        android:textAllCaps="true"
        android:textColor="@color/blue"
        android:textSize="14sp"
        app:layout_constraintEnd_toEndOf="@+id/label_zone2"
        app:layout_constraintStart_toStartOf="@+id/label_zone2"
        app:layout_constraintTop_toBottomOf="@+id/label_zone2" />

    <TextView
        android:id="@+id/consumption_zone2"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginTop="5dp"
        android:background="@drawable/input_border"
        android:fontFamily="@font/gothic"
        android:gravity="center|center_vertical"
        android:text="1234567"
        android:textColor="@color/orange"
        android:textSize="24sp"
        app:layout_constraintBottom_toBottomOf="@+id/barrier2"
        app:layout_constraintEnd_toEndOf="@+id/coefficient_zone2"
        app:layout_constraintStart_toStartOf="@+id/coefficient_zone2"
        app:layout_constraintTop_toBottomOf="@+id/barrier" />

    <TextView
        android:id="@+id/label_zone3"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginEnd="10dp"
        android:fontFamily="@font/gothic_bold"
        android:gravity="center"
        android:text="test 3"
        android:textAllCaps="true"
        android:textColor="@color/blue"
        android:textSize="18sp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintHorizontal_weight="1"
        app:layout_constraintStart_toEndOf="@+id/label_zone2"
        app:layout_constraintTop_toTopOf="@+id/label_zone2" />

    <TextView
        android:id="@+id/coefficient_zone3"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:fontFamily="@font/gothic"
        android:gravity="center"
        android:text="text="
        android:textAllCaps="true"
        android:textColor="@color/blue"
        android:textSize="14sp"
        app:layout_constraintEnd_toEndOf="@+id/label_zone3"
        app:layout_constraintStart_toStartOf="@+id/label_zone3"
        app:layout_constraintTop_toBottomOf="@+id/label_zone3" />

    <TextView
        android:id="@+id/consumption_zone3"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginTop="5dp"
        android:background="@drawable/input_border"
        android:fontFamily="@font/gothic"
        android:gravity="center|center_vertical"
        android:text="12345678"
        android:textColor="@color/orange"
        android:textSize="24sp"
        app:layout_constraintBottom_toBottomOf="@+id/barrier2"
        app:layout_constraintEnd_toEndOf="@+id/coefficient_zone3"
        app:layout_constraintStart_toStartOf="@+id/coefficient_zone3"
        app:layout_constraintTop_toBottomOf="@+id/barrier" />

    <androidx.constraintlayout.widget.Barrier
        android:id="@+id/barrier"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:barrierDirection="bottom"
        app:constraint_referenced_ids="coefficient_zone1,coefficient_zone2,coefficient_zone3" />

    <androidx.constraintlayout.widget.Barrier
        android:id="@+id/barrier2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:barrierDirection="bottom"
        app:constraint_referenced_ids="consumption_zone1,consumption_zone2,consumption_zone3" />

    <TextView
        android:id="@+id/label_calculated_indicators"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:fontFamily="@font/gothic_bold"
        android:gravity="center"
        android:text="title title title title"
        android:textAllCaps="true"
        android:textColor="@color/blue"
        android:textSize="18sp"
        app:layout_constraintEnd_toEndOf="@+id/label_zone3"
        app:layout_constraintStart_toStartOf="@+id/label_zone1"
        app:layout_constraintTop_toBottomOf="@+id/consumption_zone1" />

</androidx.constraintlayout.widget.ConstraintLayout>
Cheticamp :

As Nikos Hidalgo stated in the comment to your question, this is a common question that is asked on Stack Overflow. I have come across four ways to accomplish a common width and/or common height for a set of views. Unfortunately, none is ideal.

Here is a screen shot showing the three of the four ways to get to common dimensions. The XML for this screen is at the end of this post.

enter image description here

Embedded LinearLayout

This is probably the easiest way. Place the TextViews in a horizontal LinearLayout setting their heights to MATCH_PARENT. Set the height of the LinearLayout to WRAP_CONTENT and all will work out. The benefit of this way is its simplicity. Negatives include the overhead of a nested layout and the inability for any of the views within the LinearLayout to be connected to any view outside the LinearLayout - they become an island.

Invisible Views

This is probably the most complicated way of doing things but it may be OK depending upon the layout. The basic problem with setting up barriers to adjust the height of a set of views is that the barrier placement depends upon the height of the views and the height of the views depend upon the barrier placement. This is a referential quandary and does not work with the current version of ConstraintLayout.

The invisible view solution is to duplicate the views for which height is to be adjusted as invisible views. Set a top and a bottom barrier to these invisible views. Set the height of the visible views to MATCH_CONSTRAINTS and connect the tops to the top barrier and the bottom to the bottom barrier.

The benefit of this approach is that it is totally flat and involves just the ConstraintLayout. The drawbacks are that it increases the view count by the number of views to be adjusted, its complexity and everything that complexity entails.

Constraint Layout Size Helper

The third approach is to use a custom ConstraintHelper to change the heights of the views. The custom ConstraintHelper is inserted into the XML for the layout like any other view and made to reference the views to be adjusted.

The benefit of this approach is that the changes are all kept within the XML. The negative is that a custom class must be referenced and maintained.

Listener to Update Width/Height

This final approach is to custom code the height adjustments using a global layout listener, a layout listener or the like. This is similar to the ConstraintHelper approach but exists outside of the XML and may not be well encapsulated.

It might also be possible to code custom views to set heights of views to the greatest height either with a custom ConstraintLayout or a custom TextView.

Sample Layout

        <TextView
            android:id="@+id/textView2_0"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="16dp"
            android:text="Embedded LinearLayout"
            app:layout_constraintBottom_toTopOf="@+id/layout2"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintVertical_chainStyle="packed"
            tools:ignore="HardcodedText" />

        <LinearLayout
            android:id="@+id/layout2"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="16dp"
            android:background="@android:color/holo_blue_bright"
            app:layout_constraintBottom_toTopOf="@id/textView3_0"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/textView2_0">

            <TextView
                android:id="@+id/textView2_1"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_marginStart="24dp"
                android:layout_marginEnd="24dp"
                android:layout_weight="1"
                android:background="@android:color/white"
                android:gravity="center"
                android:text="TextView"
                tools:ignore="HardcodedText" />

            <TextView
                android:id="@+id/textView2_2"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_marginEnd="24dp"
                android:layout_weight="1"
                android:background="@android:color/white"
                android:gravity="center"
                android:text="TextView"
                tools:ignore="HardcodedText" />

            <TextView
                android:id="@+id/textView2_3"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_marginEnd="24dp"
                android:layout_weight="1"
                android:background="@android:color/white"
                android:gravity="center"
                android:text="This is the TextView that has the maximum height."
                tools:ignore="HardcodedText" />
        </LinearLayout>

        <TextView
            android:id="@+id/textView3_0"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="16dp"
            android:text="Invisible Views"
            app:layout_constraintBottom_toTopOf="@id/textView3_2"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/layout2"
            tools:ignore="HardcodedText" />

        <TextView
            android:id="@+id/textView3_1"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginStart="24dp"
            android:layout_marginEnd="24dp"
            android:background="@android:color/white"
            android:gravity="center"
            android:text="TextView"
            app:layout_constraintEnd_toStartOf="@+id/textView3_2"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="@+id/textView3_2"
            tools:visibility="invisible"
            tools:ignore="HardcodedText" />

        <TextView
            android:id="@+id/textView3_2"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginEnd="24dp"
            android:background="@android:color/white"
            android:gravity="center"
            android:text="TextView"
            app:layout_constraintBottom_toTopOf="@id/textView5_0"
            app:layout_constraintEnd_toStartOf="@+id/textView3_3"
            app:layout_constraintStart_toEndOf="@+id/textView3_1"
            app:layout_constraintTop_toBottomOf="@id/textView3_0"
            tools:visibility="invisible"
            tools:ignore="HardcodedText" />

        <TextView
            android:id="@+id/textView3_3"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginEnd="24dp"
            android:background="@android:color/white"
            android:gravity="center"
            android:text="This is the TextView that has the maximum height."
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toEndOf="@+id/textView3_2"
            app:layout_constraintTop_toTopOf="@+id/textView3_2"
            tools:visibility="invisible"
            tools:ignore="HardcodedText" />

        <androidx.constraintlayout.widget.Barrier
            android:id="@+id/barrierTop"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:barrierDirection="top"
            app:constraint_referenced_ids="textView3_1,textView3_2,textView3_3" />

        <androidx.constraintlayout.widget.Barrier
            android:id="@+id/barrierBottom"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:barrierDirection="bottom"
            app:constraint_referenced_ids="textView3_1,textView3_2,textView3_3" />

        <View
            android:layout_width="0dp"
            android:layout_height="0dp"
            android:background="@android:color/holo_blue_bright"
            app:layout_constraintBottom_toTopOf="@id/barrierBottom"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@id/barrierTop" />

        <TextView
            android:id="@+id/textView4_1"
            android:layout_width="0dp"
            android:layout_height="0dp"
            android:layout_marginStart="24dp"
            android:layout_marginEnd="24dp"
            android:background="@android:color/white"
            android:gravity="center"
            android:text="TextView"
            app:layout_constraintBottom_toTopOf="@id/barrierBottom"
            app:layout_constraintEnd_toStartOf="@+id/textView4_2"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/barrierTop"
            tools:ignore="HardcodedText" />

        <TextView
            android:id="@+id/textView4_2"
            android:layout_width="0dp"
            android:layout_height="0dp"
            android:layout_marginEnd="24dp"
            android:background="@android:color/white"
            android:gravity="center"
            android:text="TextView"
            app:layout_constraintBottom_toTopOf="@id/barrierBottom"
            app:layout_constraintEnd_toStartOf="@+id/textView4_3"
            app:layout_constraintStart_toEndOf="@+id/textView4_1"
            app:layout_constraintTop_toBottomOf="@+id/barrierTop"
            tools:ignore="HardcodedText" />

        <TextView
            android:id="@+id/textView4_3"
            android:layout_width="0dp"
            android:layout_height="0dp"
            android:layout_marginEnd="24dp"
            android:background="@android:color/white"
            android:gravity="center"
            android:text="This is the TextView that has the maximum height."
            app:layout_constraintBottom_toTopOf="@id/barrierBottom"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toEndOf="@+id/textView4_2"
            app:layout_constraintTop_toBottomOf="@+id/barrierTop"
            tools:ignore="HardcodedText" />

        <TextView
            android:id="@+id/textView5_0"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="16dp"
            android:text="ConstraintLayout Size Helper"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@id/barrierBottom"
            tools:ignore="HardcodedText" />

        <View
            android:id="@+id/view"
            android:layout_width="0dp"
            android:layout_height="0dp"
            android:background="@android:color/holo_blue_bright"
            app:layout_constraintBottom_toBottomOf="@id/textView5_1"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="@id/textView5_1" />

        <TextView
            android:id="@+id/textView5_1"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginStart="24dp"
            android:layout_marginEnd="24dp"
            android:background="@android:color/white"
            android:gravity="center"
            android:text="TextView"
            app:layout_constraintEnd_toStartOf="@+id/textView5_2"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="@+id/textView5_2"
            tools:ignore="HardcodedText" />

        <TextView
            android:id="@+id/textView5_2"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginTop="16dp"
            android:layout_marginEnd="24dp"
            android:background="@android:color/white"
            android:gravity="center"
            android:text="TextView"
            app:layout_constraintEnd_toStartOf="@+id/textView5_3"
            app:layout_constraintStart_toEndOf="@+id/textView5_1"
            app:layout_constraintTop_toBottomOf="@+id/textView5_0"
            tools:ignore="HardcodedText" />

        <TextView
            android:id="@+id/textView5_3"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginEnd="24dp"
            android:background="@android:color/white"
            android:gravity="center"
            android:text="This is the TextView that has the maximum height."
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toEndOf="@+id/textView5_2"
            app:layout_constraintTop_toTopOf="@+id/textView5_2"
            tools:ignore="HardcodedText" />

        <com.example.constraintsizehelper.ConstraintSizeHelper
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:constraint_referenced_ids="textView5_1,textView5_2,textView5_3"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            app:setCommonWidth="true"
            app:setCommonHeight="true"
            tools:layout_height="120dp"/>

    </androidx.constraintlayout.widget.ConstraintLayout>

Here is a reduced version of your layout using a Constraint Size Helper class (not provided):

enter image description here

And its XML:

activity_main.xml

<androidx.constraintlayout.widget.ConstraintLayout 
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:id="@+id/label_zone1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginStart="10dp"
        android:layout_marginEnd="15dp"
        android:gravity="center"
        android:text="test 1"
        android:textAllCaps="true"
        android:textColor="@color/blue"
        android:textSize="18sp"
        app:layout_constraintEnd_toStartOf="@+id/label_zone2"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintHorizontal_weight="1"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <TextView
        android:id="@+id/coefficient_zone1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="text="
        android:textAllCaps="true"
        android:textColor="@color/blue"
        android:textSize="14sp"
        app:layout_constraintEnd_toEndOf="@+id/label_zone1"
        app:layout_constraintStart_toStartOf="@+id/label_zone1"
        app:layout_constraintTop_toBottomOf="@+id/label_zone1" />

    <TextView
        android:id="@+id/consumption_zone1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginTop="5dp"
        android:background="@drawable/input_border"
        android:gravity="center|center_vertical"
        android:text="0"
        android:textColor="@color/orange"
        android:textSize="24sp"
        app:layout_constraintBottom_toBottomOf="@+id/barrier2"
        app:layout_constraintEnd_toEndOf="@+id/coefficient_zone1"
        app:layout_constraintStart_toStartOf="@+id/coefficient_zone1"
        app:layout_constraintTop_toBottomOf="@+id/barrier" />

    <TextView
        android:id="@+id/label_zone2"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginEnd="15dp"
        android:gravity="center"
        android:text="test 2"
        android:textAllCaps="true"
        android:textColor="@color/blue"
        android:textSize="18sp"
        app:layout_constraintEnd_toStartOf="@+id/label_zone3"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintHorizontal_weight="1"
        app:layout_constraintStart_toEndOf="@+id/label_zone1"
        app:layout_constraintTop_toTopOf="@+id/label_zone1" />

    <TextView
        android:id="@+id/coefficient_zone2"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="text="
        android:textAllCaps="true"
        android:textColor="@color/blue"
        android:textSize="14sp"
        app:layout_constraintEnd_toEndOf="@+id/label_zone2"
        app:layout_constraintStart_toStartOf="@+id/label_zone2"
        app:layout_constraintTop_toBottomOf="@+id/label_zone2" />

    <TextView
        android:id="@+id/consumption_zone2"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginTop="5dp"
        android:background="@drawable/input_border"
        android:gravity="center|center_vertical"
        android:text="12345678"
        android:textColor="@color/orange"
        android:textSize="24sp"
        app:layout_constraintBottom_toBottomOf="@+id/barrier2"
        app:layout_constraintEnd_toEndOf="@+id/coefficient_zone2"
        app:layout_constraintStart_toStartOf="@+id/coefficient_zone2"
        app:layout_constraintTop_toBottomOf="@+id/barrier" />

    <TextView
        android:id="@+id/label_zone3"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginEnd="10dp"
        android:gravity="center"
        android:text="test 3"
        android:textAllCaps="true"
        android:textColor="@color/blue"
        android:textSize="18sp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintHorizontal_weight="1"
        app:layout_constraintStart_toEndOf="@+id/label_zone2"
        app:layout_constraintTop_toTopOf="@+id/label_zone2" />

    <TextView
        android:id="@+id/coefficient_zone3"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="text="
        android:textAllCaps="true"
        android:textColor="@color/blue"
        android:textSize="14sp"
        app:layout_constraintEnd_toEndOf="@+id/label_zone3"
        app:layout_constraintStart_toStartOf="@+id/label_zone3"
        app:layout_constraintTop_toBottomOf="@+id/label_zone3" />

    <TextView
        android:id="@+id/consumption_zone3"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginTop="5dp"
        android:background="@drawable/input_border"
        android:gravity="center|center_vertical"
        android:text="1234567890"
        android:textColor="@color/orange"
        android:textSize="24sp"
        app:layout_constraintBottom_toBottomOf="@+id/barrier2"
        app:layout_constraintEnd_toEndOf="@+id/coefficient_zone3"
        app:layout_constraintStart_toStartOf="@+id/coefficient_zone3"
        app:layout_constraintTop_toBottomOf="@+id/barrier" />

    <androidx.constraintlayout.widget.Barrier
        android:id="@+id/barrier"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:barrierDirection="bottom"
        app:constraint_referenced_ids="coefficient_zone1,coefficient_zone2,coefficient_zone3" />

    <androidx.constraintlayout.widget.Barrier
        android:id="@+id/barrier2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:barrierDirection="bottom"
        app:constraint_referenced_ids="consumption_zone1,consumption_zone2,consumption_zone3" />

    <TextView
        android:id="@+id/label_calculated_indicators"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:gravity="center"
        android:text="title title title title"
        android:textAllCaps="true"
        android:textColor="@color/blue"
        android:textSize="18sp"
        app:layout_constraintEnd_toEndOf="@+id/label_zone3"
        app:layout_constraintStart_toStartOf="@+id/label_zone1"
        app:layout_constraintTop_toBottomOf="@+id/consumption_zone1" />

    <com.example.myapplication.ConstraintSizeHelper
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        tools:layout_height="120dp"
        app:setCommonWidth="false"
        app:setCommonHeight="true"
        app:constraint_referenced_ids="consumption_zone1,consumption_zone2,consumption_zone3"/>

</androidx.constraintlayout.widget.ConstraintLayout>

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=7354&siteId=1
Recommended