2 votes

Pourquoi y a-t-il un espace supplémentaire sous ma vue défilante ?

J'ai une vue défilante que j'aimerais remplir tout l'écran, j'ai la base suivante LinearLayout alors à l'intérieur que a ScrollView et, à l'intérieur de celui-ci, un seul LinearLayout contenant plusieurs champs de texte et étiquettes. J'utilise le niveau 8 de l'API. Voici ce que j'obtiens sur l'émulateur :

The bottom of my emulator

Ainsi, le ScrollView devrait aller jusqu'en bas, mais je n'arrive pas à comprendre pourquoi il n'occupe pas tout l'espace de l'écran ? Quelqu'un a-t-il des suggestions à faire ?

Voici mon code de mise en page :

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="match_parent"
  android:layout_height="match_parent">
    <ScrollView
        android:layout_width="match_parent" 
        android:layout_height="match_parent">
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical" >
            <TextView 
                android:layout_height="wrap_content" 
                android:id="@+id/textView1" 
                android:text="@string/create_account_header" 
                android:textAppearance="?android:attr/textAppearanceLarge" 
                android:layout_width="wrap_content" android:textStyle="bold">
            </TextView>
            <TextView android:layout_height="wrap_content" android:id="@+id/textView2" android:textAppearance="?android:attr/textAppearanceMedium" android:layout_width="wrap_content" android:text="@string/enter_email"></TextView>
            <EditText android:inputType="textEmailAddress" android:layout_height="wrap_content" android:layout_width="match_parent" android:id="@+id/emailAddress"></EditText>
            <TextView android:layout_height="wrap_content" android:id="@+id/textView3" android:textAppearance="?android:attr/textAppearanceMedium" android:layout_width="wrap_content" android:text="Email Address Again:"></TextView>
            <EditText android:layout_height="wrap_content" android:layout_width="match_parent" android:inputType="textEmailAddress" android:id="@+id/emailAddressConfirmation">
                <requestFocus></requestFocus>
            </EditText>
            <TextView android:layout_height="wrap_content" android:id="@+id/textView6" android:textAppearance="?android:attr/textAppearanceMedium" android:layout_width="wrap_content" android:text="Username:"></TextView>
            <EditText android:inputType="textPersonName" android:layout_height="wrap_content" android:id="@+id/editText1" android:layout_width="match_parent"></EditText>
            <TextView android:layout_height="wrap_content" android:id="@+id/textView4" android:textAppearance="?android:attr/textAppearanceMedium" android:layout_width="wrap_content" android:text="Password:"></TextView>
            <EditText android:layout_height="wrap_content" android:layout_width="match_parent" android:inputType="textPassword" android:id="@+id/password"></EditText>
            <TextView android:layout_height="wrap_content" android:id="@+id/textView5" android:textAppearance="?android:attr/textAppearanceMedium" android:layout_width="wrap_content" android:text="Confirm Password:"></TextView>
            <EditText android:layout_height="wrap_content" android:layout_width="match_parent" android:inputType="textPassword" android:id="@+id/passwordConfirmation"></EditText>
            <ImageButton android:src="@drawable/generic_image" android:layout_width="wrap_content" android:id="@+id/imageButton1" android:layout_height="wrap_content"></ImageButton>
        </LinearLayout>
    </ScrollView>
</LinearLayout>

4voto

Paresh Mayani Points 48123

Vous n'avez pas besoin de prendre ScrollView à l'intérieur du LinearLayout, de le supprimer et de faire de ScrollView le conteneur parent.

Essayez ça :

<?xml version="1.0" encoding="utf-8"?>
    <ScrollView
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent"
        xmlns:android="http://schemas.android.com/apk/res/android">
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical" >
            <TextView 
                android:layout_height="wrap_content" 
                android:id="@+id/textView1" 
                android:text="@string/create_account_header" 
                android:textAppearance="?android:attr/textAppearanceLarge" 
                android:layout_width="wrap_content" android:textStyle="bold">
            </TextView>
            <TextView android:layout_height="wrap_content" android:id="@+id/textView2" android:textAppearance="?android:attr/textAppearanceMedium" android:layout_width="wrap_content" android:text="@string/enter_email"></TextView>
            <EditText android:inputType="textEmailAddress" android:layout_height="wrap_content" android:layout_width="match_parent" android:id="@+id/emailAddress"></EditText>
            <TextView android:layout_height="wrap_content" android:id="@+id/textView3" android:textAppearance="?android:attr/textAppearanceMedium" android:layout_width="wrap_content" android:text="Email Address Again:"></TextView>
            <EditText android:layout_height="wrap_content" android:layout_width="match_parent" android:inputType="textEmailAddress" android:id="@+id/emailAddressConfirmation">
                <requestFocus></requestFocus>
            </EditText>
            <TextView android:layout_height="wrap_content" android:id="@+id/textView6" android:textAppearance="?android:attr/textAppearanceMedium" android:layout_width="wrap_content" android:text="Username:"></TextView>
            <EditText android:inputType="textPersonName" android:layout_height="wrap_content" android:id="@+id/editText1" android:layout_width="match_parent"></EditText>
            <TextView android:layout_height="wrap_content" android:id="@+id/textView4" android:textAppearance="?android:attr/textAppearanceMedium" android:layout_width="wrap_content" android:text="Password:"></TextView>
            <EditText android:layout_height="wrap_content" android:layout_width="match_parent" android:inputType="textPassword" android:id="@+id/password"></EditText>
            <TextView android:layout_height="wrap_content" android:id="@+id/textView5" android:textAppearance="?android:attr/textAppearanceMedium" android:layout_width="wrap_content" android:text="Confirm Password:"></TextView>
            <EditText android:layout_height="wrap_content" android:layout_width="match_parent" android:inputType="textPassword" android:id="@+id/passwordConfirmation"></EditText>
            <ImageButton android:src="@drawable/generic_image" android:layout_width="wrap_content" android:id="@+id/imageButton1" android:layout_height="wrap_content"></ImageButton>
        </LinearLayout>
</ScrollView>

2voto

wbarksdale Points 2001

OK, j'avais configuré l'émulateur pour qu'il s'adapte à une taille de 75%, quand je l'ai désactivé, le problème a disparu... Donc je pense que c'était probablement un problème d'émulateur.

0voto

siraj Points 331

Essayez de changer votre match_parent en wrap_content ou fill_parent, cela pourrait résoudre votre problème.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X