Ich habe eine ConstraintLayout
innerhalb einer NestedScrollView
. Die ConstraintLayout
enthält eine Reihe von Ansichten, aber die letzte View
kann eine dynamische Höhe haben, um den unteren Platz zu füllen, wenn es welche gibt, aber es muss auch eine minimale Höhe sein, wenn nicht genug Platz ist.Ansicht mit minHeight in ConstraintLayout
Aus Gründen der Argumente, hier ist ein Beispiel.
<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>
Wie Sie habe ich die ConstraintLayout
Version in setzen sehen, aber es funktioniert nicht. Offensichtlich sind die Werte lächerlich groß, aber das ist nur zum Testen.
Wenn ich nicht fillViewport="true"
auf dem NestedScrollView
dann ConstraintLayout
setzen Sie hat eine Höhe von 0. Wenn ich die fillViewport
gesetzt haben, wird die ConstraintLayout
nicht bewegen, sondern füllt einfach den Bildschirm.
Wie kann ich die Ansicht so einstellen, dass sie bis zum Ende der ConstraintLayout
erweitert wird, die so groß wie der Viewport sein sollte, aber wenn meine Ansicht nicht von der minHeight
ist, dann erlauben wir Scrollen?
Ich verwende Version 1.0.2
der ConstraintLayout
Bibliothek.
Was ich zu sehen erwarte, ist das Wesen bis zum Ende des Elternteils, aber wenn diese Größe kleiner als 1500dp
ist, scrollt die Ansicht.
Ich habe 1500dp wie so android:layout_height="1500dp"
eingegeben und die Ansicht scrollt entsprechend.
UPDATE 1
scheint zu sein, wenn ich das Layout innerhalb eines FragmentViewPager
setzen. Die Eigenschaft app:layout_constraintHeight_min
wird nicht berücksichtigt und entspricht nur der Höhe des Ansichtsfensters.
Ich habe auch versucht, die NestedScrollView
aus dem Fragment und setzen Sie die ViewPager
hinein, aber wieder nicht funktioniert.
Welche Version von 'ConstraintLayout' verwenden Sie? – Cheticamp