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 RelativeLayout
y Linearlayout
, no puedo usar ScrollView
para 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
NestedScrollView
con viewport true funciona bien para mífuente
Establecer
ScrollView
layout_height
como unwrap_content
entonces 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
ConstraintLayout
la versión llamada "estable" de Android Studio 2.2 y no tengoScrollView
que trabajar en el diseñador. No voy a comenzar por la ruta de agregar restricciones en XMLViews
porque 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
ConstraintLayout
implementació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
ScrollView
está encapsulado en unCoordinatorLayout
con unToolbar
...... Tuve que definir
android:layout_marginTop="?attr/actionBarSize"
para que el desplazamiento funcionara:Arriba también funciona con en
NestedScrollView
lugar 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