In letzter Zeit gibt es mit Android Studio 2.2 ein neues ConstraintLayout, das das Entwerfen erheblich vereinfacht, aber im Gegensatz zu RelativeLayout
und Linearlayout
kann ich kein ScrollView
Surround verwenden ConstraintLayot
. Ist das möglich? Wenn das so ist, wie?
dh
<ScrollView 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"
tools:layout_editor_absoluteX="0dp"
tools:layout_editor_absoluteY="0dp">
<android.support.constraint.ConstraintLayout
android:id="@+id/constraintLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:layout_editor_absoluteX="0dp"
tools:layout_editor_absoluteY="0dp">
<!-- Have whatever children you want inside -->
</android.support.constraint.ConstraintLayout>
</ScrollView>
layout_height="wrap_content"
, zeigt die App einen leeren Bildschirm an, aber wenn ich benutzelayout_height="match_parent"
, wird die App nicht scrollen.Antworten:
Es gab einen Fehler mit ConstraintLayout in ScrollViews, der behoben wurde. Google hat den Fehler in Android Studio 2.2 Preview 2 (Constraintlayout 1.0.0-alpha2) behoben.
Überprüfen Sie diesen Link auf neue Updates (Vorschau 2): Funktioniert ordnungsgemäß in ScrollView und RecycleView
Lösung 1:
Lösung 2:
quelle
Versuchen Sie,
android:fillViewport="true"
zur ScrollView hinzuzufügen.Hier finden Sie die Lösung: LinearLayout wird in einer ScrollView nicht erweitert
quelle
Verwendung
NestedScrollView
mit Ansichtsfenster true funktioniert gut für michquelle
Stellen Sie
ScrollView
layout_height
alswrap_content
dann wird es gut funktionieren. Unten finden Sie ein Beispiel, das jemandem helfen kann. Ich habecompile 'com.android.support.constraint:constraint-layout:1.0.2'
für das Einschränkungslayout verwendet.quelle
Versuchen Sie, Ihrem Einschränkungslayout wie unten etwas Polsterung zu verleihen
quelle
Vergessen Sie das nicht, wenn Sie den unteren Rand einer Ansicht auf den unteren Rand des Layouts beschränken. Scrollview konnte nicht scrollen.
quelle
Ich habe 2 Tage lang versucht, Layouts
ConstraintLayout
in die sogenannte "stabile" Version Android Studio 2.2 zu konvertieren, und ich muss nichtScrollView
im Designer arbeiten. Ich werde nicht den Weg des Hinzufügens von Einschränkungen in XML für beginnenViews
, da dies weiter unten im Bildlauf erfolgt. Immerhin soll dies ein visuelles Designwerkzeug sein.Und die Anzahl der Renderfehler, Stapelüberläufe und Themenprobleme, die ich hatte, hat mich zu dem Schluss gebracht, dass die gesamte
ConstraintLayout
Implementierung immer noch voller Fehler ist. Wenn Sie keine einfachen Layouts entwickeln, würde ich es gut in Ruhe lassen, bis es mindestens ein paar weitere Iterationen gibt.Das sind 2 Tage, ich werde nicht zurückkommen.
quelle
Da das Ist
ScrollView
in einemCoordinatorLayout
mit einemToolbar
...... musste ich definieren
android:layout_marginTop="?attr/actionBarSize"
, damit das Scrollen funktioniert:Oben funktioniert auch mit
NestedScrollView
stattScrollView
. Eine Definitionandroid:fillViewport="true"
ist für mich nicht erforderlich.quelle
Vergessen Sie nicht über
tools:context=".YouClassName"
Eigentum inScrollView
.Es war der Grund, warum meine Anwendung abstürzte.
quelle