Android – ¿Cómo hacer una restricción desplazable?

Quiero hacer un diseño que me permite desplazarse hacia abajo utilizando el diseño de restricciones, pero no sé cómo hacerlo. Debe el scrollview ser el padre del constraintlayout como esto?

<?xml version="1.0" encoding="utf-8"?> <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" android:fillViewport="true"> <android.support.constraint.ConstraintLayout android:id="@+id/Constraint" android:layout_width="match_parent" android:layout_height="match_parent"> </android.support.constraint.ConstraintLayout> 

¿O al revés? Tal vez alguien me puede señalar a un buen tutorial sobre esto o dar un ejemplo, no puedo parece encontrar uno.

También no sé si esto es un error o alguna configuración que no he configurado pero he visto imágenes como ésta donde hay algunos componentes fuera del blueprint "rectángulo azul" pero son visibles, mientras que en mi lado si me Colocar un componente en el "espacio en blanco" No puedo verlo o moverlo a ninguna parte, y aparece en el árbol de componentes.

ACTUALIZAR

He encontrado una manera de hacer que el diseño de restricción se pueda desplazar en la herramienta de diseño, usando una guía horiontal para empujar hacia abajo el borde de diseño de restricción y extenderlo más allá del dispositivo, después de que puede usar la línea de guía como el nuevo fondo del diseño de restricción Anclar los componentes.

Parece que está funcionando, no sé con qué dependencia está trabajando pero en este caso

 compile 'com.android.support.constraint:constraint-layout:1.0.2' 

Está trabajando, esto es lo que hice

 <?xml version="1.0" encoding="utf-8"?> <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:context=".MainActivity"> <android.support.constraint.ConstraintLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <android.support.design.widget.TextInputLayout android:id="@+id/til_input" android:layout_width="0dp" android:layout_height="wrap_content" android:hint="Escriba el contenido del archivo" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toLeftOf="@+id/btn_save" app:layout_constraintTop_toTopOf="@id/btn_save" app:layout_constraintVertical_chainStyle="spread"> <EditText android:layout_width="match_parent" android:layout_height="match_parent" /> </android.support.design.widget.TextInputLayout> <Button android:id="@+id/btn_save" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="onClickButtonSave" android:text="Guardar" app:layout_constraintLeft_toRightOf="@+id/til_input" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" /> <TextView android:id="@+id/txt_content" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginTop="0dp" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toBottomOf="@id/til_input" app:layout_constraintVertical_chainStyle="spread" app:layout_constraintVertical_weight="1" /> <Button android:id="@+id/btn_delete" android:layout_width="0dp" android:layout_height="wrap_content" android:onClick="onClickButtonDelete" android:text="Eliminar" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toBottomOf="@id/txt_content" app:layout_constraintVertical_chainStyle="spread" /> </android.support.constraint.ConstraintLayout> </ScrollView> 

Scroll Top Introduzca aquí la descripción de la imagen

Desplazamiento inferior Introduzca aquí la descripción de la imagen

Para hacer un diseño desplazable, el diseño es correcto. No será desplazable hasta que haya razón para desplazarse (como en cualquier otro diseño). Así que agrega suficiente contenido y será desplazable, al igual que con cualquier diseño (Lineal, Relativo, etc). Sin embargo, no se puede desplazar correctamente en Blueprint o modo de diseño al diseñar con ConstraintLayout y ScrollView.

Sentido:

Puede hacer un ConstraintLayout desplazable, pero no se desplazará correctamente en el editor debido a un error / escenario que no se consideró. Pero aunque el desplazamiento no funciona en el editor, funciona en dispositivos. (He hecho varios desplazamiento COnstraintLayouts, por lo que he probado)

Nota

Respecto a su código. El ScrollView no tiene una etiqueta de cierre, no sé si es el caso en el archivo o si es una copia-pegar falta, pero es posible que desee verlo.

Hay un error en la versión 2.2 que hace imposible desplazar el ConstraintLayout. Supongo que todavía existe. Puede utilizar LinearLayout o RelativeLayout alternativamente.

También, echa un vistazo: ¿Es posible poner un diseño de restricción dentro de un ScrollView .

Constraintlayout es la opción predeterminada para una nueva aplicación. Estoy "aprendiendo a Android" ahora y tuve un tiempo muy difícil averiguar cómo manejar el código de "muestra" por defecto para desplazarse cuando un teclado está arriba. He visto muchas aplicaciones en las que tengo que cerrar el teclado para hacer clic en "enviar" y, a veces, no desaparece. Usando esta jerarquía [ScrollView / ContraintLayout / Fields] está funcionando bien ahora. De esta manera podemos tener los beneficios y la facilidad de uso de ConstraintLayout en una vista desplazable.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.