Recientemente, con Android Studio 2.2 hay un nuevo ConstraintLayout que hace que el diseño sea mucho más fácil, pero a diferencia de RelativeLayouty Linearlayout, no puedo usar ScrollViewpara envolver ConstraintLayot. es posible? ¿Si es así, cómo?
es decir
<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", la aplicación muestra una pantalla en blanco, pero si la usolayout_height="match_parent", la aplicación no se desplaza.Respuestas:
Hubo un error con ConstraintLayout dentro de ScrollViews y se ha corregido. google ha corregido el error en Android Studio 2.2 Preview 2 (constraintlayout 1.0.0-alpha2).
Consulte este enlace para ver una nueva actualización (Vista previa 2): funciona correctamente dentro de ScrollView y RecycleView
Solución 1:
Solución 2:
fuente
Intente agregar
android:fillViewport="true"a ScrollView.Encontré la solución aquí: LinearLayout no se expande dentro de un ScrollView
fuente
usar
NestedScrollViewcon viewport true funciona bien para mífuente
Establecer
ScrollViewlayout_heightcomo unwrap_contententonces funcionará bien. A continuación se muestran ejemplos que pueden ayudar a alguien. Lo he utilizadocompile 'com.android.support.constraint:constraint-layout:1.0.2'para el diseño de restricciones.fuente
No olvide que si restringe la parte inferior de alguna vista para restringir la parte inferior del diseño, Scrollview no podría desplazarse.
fuente
Intente darle un fondo acolchado a su diseño de restricción como se muestra a continuación
fuente
He pasado 2 días intentando convertir diseños a
ConstraintLayoutla versión llamada "estable" de Android Studio 2.2 y no tengoScrollViewque trabajar en el diseñador. No voy a comenzar por la ruta de agregar restricciones en XMLViewsporque están más abajo en el desplazamiento. Después de todo, se supone que esto es una herramienta de diseño visual.Y la cantidad de errores de renderizado, desbordamientos de pila y problemas de tema que he tenido me ha llevado a concluir que toda la
ConstraintLayoutimplementación todavía está plagada de errores. A menos que esté desarrollando diseños simples, lo dejaría bien hasta que tenga al menos algunas iteraciones más.Son 2 días que no voy a volver.
fuente
Dado que el real
ScrollViewestá encapsulado en unCoordinatorLayoutcon unToolbar...... Tuve que definir
android:layout_marginTop="?attr/actionBarSize"para que el desplazamiento funcionara:Arriba también funciona con en
NestedScrollViewlugar deScrollView. Definirandroid:fillViewport="true"no es necesario para mí.fuente
No se olvide de la
tools:context=".YouClassName"propiedad enScrollView.Es lo que estaba causando que mi aplicación fallara.
fuente