¿Cómo puedo hacer que mi diseño se pueda desplazar hacia abajo?

88

No puedo desplazarme hacia abajo en la pantalla para ver los datos en la sección "Respondido por:". ¿Cómo puedo hacer que mi diseño sea desplazable?

texto alternativo

Prateek Raj
fuente

Respuestas:

200

Simplemente envuelva todo eso dentro de un ScrollView:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent">
    <!-- Here you put the rest of your current view-->
</ScrollView>

Como dijo David Hedlund, ScrollView puede contener solo un elemento ... así que si tuvieras algo como esto:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent">
    <!-- bla bla bla-->
</LinearLayout>

Debes cambiarlo a:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent">
    <LinearLayout
      android:layout_width="fill_parent"
      android:layout_height="fill_parent">
        <!-- bla bla bla-->
    </LinearLayout>
</ScrollView>
Cristian
fuente
15
+1. una nota rápida: a ScrollViewsolo puede contener un hijo, por lo que si lo que tiene actualmente son muchas vistas, debe agruparlas en un grupo de vistas (por ejemplo, a LinearLayout)
David Hedlund
1
Gracias @David Hedlund
Prateek Raj
cómo solucionar mi problema por favor ayúdame stackoverflow.com/questions/38588702/…
Karthi
40

Para usar la vista de desplazamiento junto con el diseño relativo:

<ScrollView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:fillViewport="true"> <!--IMPORTANT otherwise backgrnd img. will not fill the whole screen -->

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        android:background="@drawable/background_image"
    >

    <!-- Bla Bla Bla i.e. Your Textviews/Buttons etc. -->
    </RelativeLayout>
</ScrollView>
Vinil Narang
fuente
1
¿Cuál es la etiqueta de la ventana
gráfica
4

Simplemente envuelva todo eso dentro de un ScrollView

<?xml version="1.0" encoding="utf-8"?>

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.ruatech.sanikamal.justjava.MainActivity">
<!-- Here you put the rest of your current view-->
</ScrollView>
Sani Kamal
fuente
0

Si incluso no obtuvo el desplazamiento después de hacer lo que está escrito arriba .....

Establezca android:layout_height="250dp"o puede decir xdpdónde xpuede haber cualquier valor numérico.

Rahul Singhal
fuente
0

Sí, es muy sencillo. Simplemente ponga su código dentro de esto:

<androidx.core.widget.NestedScrollView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent" 
    android:layout_height="match_parent">

//YOUR CODE

</androidx.core.widget.NestedScrollView>
Abhishek
fuente