I have a ConstraintLayout
inside a NestedScrollView
. The ConstraintLayout
contains a bunch of views but the last View
can have a dynamic height to fill up the bottom space if there is any but it also needs to be a minimum height if there is not enough space.
For arguments sake, here is an example.
<android.support.v4.widget.NestedScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true">
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:layout_height="match_parent">
<View
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintHeight_min="1500dp"
android:background="@color/red"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
</android.support.constraint.ConstraintLayout>
</android.support.v4.widget.NestedScrollView>
As you can see I have put the ConstraintLayout
version in but it doesn't work. Obviously the values are ridiculously large but this is just for testing.
If I don't set fillViewport="true"
on the NestedScrollView
then ConstraintLayout
has a height of 0. When I do set the fillViewport
, the ConstraintLayout
does not scroll but just fills the screen.
How can I set the View so that it expands to the bottom of the ConstraintLayout
which should be as big as the Viewport but if my View is not of the minHeight
then we allow scrolling?
I am using version 1.0.2
of the ConstraintLayout
library.
What I expect to see is the being all the way to the bottom of the parent but if that size is less than 1500dp
then the view scrolls.
I have entered 1500dp like so android:layout_height="1500dp"
and the view scrolls accordingly.
UPDATE 1
Seems to be once I put the layout within a FragmentViewPager
. The app:layout_constraintHeight_min
property isn't respected and it only matches the height of the viewport.
I also tried taking the NestedScrollView
out of the fragment and putting the ViewPager
inside it but again didn't work.