naesmanak
naesmanak

Reputation: 183

View to fill and center contents in the remaining space Android

I have a LinearLayout which is a view that I need to display under another view, all within a ConstraintLayout. I want to LinearLayout's height to be dynamically equal to the space between the bottom of the above view, and the bottom of the parent. I've tried

        <android.support.v7.widget.LinearLayoutCompat
        android:id="@+id/sample_layout"
        android:layout_width="match_parent"
        android:layout_height="fill_parent"
        android:gravity="center_vertical"
        android:orientation="vertical"
        android:visibility="gone"

without success. I am very new at Android UI work so I'm not sure if I'm using the right layout. Can anyone suggest a better implementation, or a fix to my current attempt?

Upvotes: 0

Views: 343

Answers (2)

Fan Applelin
Fan Applelin

Reputation: 781

You means this?: enter image description here

<TextView
    android:id="@+id/your_linear_layout"
    android:layout_width="200dp"
    android:layout_height="0dp"
    android:layout_marginEnd="56dp"
    android:background="#0ff"
    android:text="your LinearLayout"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/above_view"
    app:layout_constraintVertical_bias="0.0"/>

Upvotes: 1

Khalid Taha
Khalid Taha

Reputation: 3313

you can put the LinearLayout inside a RelativeLayout that is under the needed view, and make the height of the relative layout to fill the space, while you can make the linear layout to be in the center of the relative layout such as:

<RelativeLayout ... >
    <LinearLayout 
        ....
        android:centerVertical="true"

</RelativeLayout>

Upvotes: 0

Related Questions