Comment rendre ma mise en page capable de défiler vers le bas?


88

Je ne peux pas faire défiler l'écran pour afficher les données dans la section «Réponse par:». Comment puis-je faire défiler ma mise en page?

texte alternatif

Réponses:


200

Enveloppez tout cela dans 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>

Comme l'a dit David Hedlund, ScrollView ne peut contenir qu'un seul élément ... donc si vous aviez quelque chose comme ça:

<?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>

Vous devez le changer en:

<?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>

15
+1. une note rapide: a ScrollViewne peut contenir qu'un seul enfant, donc si ce que vous avez actuellement est beaucoup de vues, vous devez les envelopper dans un groupe de vues (disons a LinearLayout)
David Hedlund

1
Merci @David Hedlund
Prateek Raj

comment résoudre mon problème s'il vous plaît aidez-moi stackoverflow.com/questions/38588702/…
Karthi

40

Pour utiliser la vue de défilement avec la disposition relative:

<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>

1
Quel est le tag de la fenêtre d'
affichage

4

Enveloppez tout cela dans 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>

0

Si vous n'avez même pas obtenu de défilement après avoir fait ce qui est écrit ci-dessus .....

Réglez le android:layout_height="250dp"ou vous pouvez dire xdpxpeut être une valeur numérique.


0

Oui, c'est très simple. Mettez simplement votre code à l'intérieur:

<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>
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.