web-dev-qa-db-fra.com

Comment ajouter une barre de défilement à la mise en page relative?

Je suis nouveau dans le développement de l'application Android. Maintenant, je conçois une application, en ce sens que j'ai un Activity qui contient du contenu, mais ce contenu en est un autre. le contenu est hors de l'écran.Maintenant, je veux montrer ce contenu à l'utilisateur, mais je ne sais pas comment conserver les défilement dans le Activity.

Comment afficher le contenu total à l'utilisateur final avec le scroller en utilisant RelativeLayout?

39
ram

salut voir l'exemple de code suivant du fichier XML.

<ScrollView xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:id="@+id/ScrollView01"
    Android:layout_width="fill_parent"
    Android:layout_height="fill_parent" >

    <RelativeLayout
        Android:id="@+id/RelativeLayout01"
        Android:layout_width="fill_parent"
        Android:layout_height="fill_parent" >

        <LinearLayout
            Android:id="@+id/LinearLayout01"
            Android:layout_width="fill_parent"
            Android:layout_height="fill_parent"
            Android:orientation="vertical" >

            <TextView
                Android:id="@+id/TextView01"
                Android:layout_width="wrap_content"
                Android:layout_height="wrap_content"
                Android:layout_margin="20dip"
                Android:text="@+id/TextView01" >
            </TextView>

            <TextView
                Android:id="@+id/TextView01"
                Android:layout_width="wrap_content"
                Android:layout_height="wrap_content"
                Android:layout_margin="20dip"
                Android:text="@+id/TextView01" >
            </TextView>

            <TextView
                Android:id="@+id/TextView01"
                Android:layout_width="wrap_content"
                Android:layout_height="wrap_content"
                Android:layout_margin="20dip"
                Android:text="@+id/TextView01" >
            </TextView>

            <TextView
                Android:id="@+id/TextView01"
                Android:layout_width="wrap_content"
                Android:layout_height="wrap_content"
                Android:layout_margin="20dip"
                Android:text="@+id/TextView01" >
            </TextView>

            <TextView
                Android:id="@+id/TextView01"
                Android:layout_width="wrap_content"
                Android:layout_height="wrap_content"
                Android:layout_margin="20dip"
                Android:text="@+id/TextView01" >
            </TextView>

            <TextView
                Android:id="@+id/TextView01"
                Android:layout_width="wrap_content"
                Android:layout_height="wrap_content"
                Android:layout_margin="20dip"
                Android:text="@+id/TextView01" >
            </TextView>

            <TextView
                Android:id="@+id/TextView01"
                Android:layout_width="wrap_content"
                Android:layout_height="wrap_content"
                Android:layout_margin="20dip"
                Android:text="@+id/TextView01" >
            </TextView>

            <TextView
                Android:id="@+id/TextView01"
                Android:layout_width="wrap_content"
                Android:layout_height="wrap_content"
                Android:layout_margin="20dip"
                Android:text="@+id/TextView01" >
            </TextView>

            <TextView
                Android:id="@+id/TextView01"
                Android:layout_width="wrap_content"
                Android:layout_height="wrap_content"
                Android:layout_margin="20dip"
                Android:text="@+id/TextView01" >
            </TextView>
        </LinearLayout>
    </RelativeLayout>

</ScrollView>
84
VenkaReddy

Il suffit de mettre votre RelativeLayout à l'intérieur de ScrollView

<ScrollView xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:id="@+id/ScrollView01"
    Android:layout_width="fill_parent"
    Android:layout_height="fill_parent">
  ------- here RelativeLayout ------
</ScrollView>
14
Aalkhodiry

Vous voulez le joindre avec un scrollView.

5
Nanne

Vérifiez l'exemple de fichier de mise en page suivant

<ScrollView xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:id="@+id/ScrollView01" Android:layout_width="fill_parent"
Android:layout_height="fill_parent" Android:background="@color/white">
<RelativeLayout Android:layout_height="fill_parent"
    Android:layout_width="fill_parent">
    <ImageView Android:id="@+id/image1"
        Android:layout_width="wrap_content"  
                    Android:layout_height="wrap_content"
        Android:layout_marginLeft="15dip" Android:layout_marginTop="15dip"
        Android:src="@drawable/btn_blank" Android:clickable="true" /> </RelativeLayout> </ScrollView>
5
chiranjib

Le code suivant devrait faire l'affaire:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:id="@+id/ScrollView01"
Android:layout_width="fill_parent"
Android:layout_height="fill_parent" >

<RelativeLayout
Android:id="@+id/RelativeLayout01"
Android:layout_width="fill_parent"
Android:layout_height="638dp" >

<TextView
    Android:id="@+id/textView1"
    style="@style/normalcode"
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:layout_alignParentLeft="true"
    Android:layout_alignParentTop="true"
    Android:layout_marginTop="64dp"
    Android:text="Email" />

<TextView
    Android:id="@+id/textView2"
    style="@style/normalcode"
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:layout_below="@+id/textView1"
    Android:layout_marginTop="41dp"
    Android:text="Password" />

<TextView
    Android:id="@+id/textView3"
    style="@style/normalcode"
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:layout_alignRight="@+id/textView2"
    Android:layout_below="@+id/textView2"
    Android:layout_marginTop="47dp"
    Android:text="Confirm Password" />

<EditText
    Android:id="@+id/editText1"
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:layout_alignBaseline="@+id/textView1"
    Android:layout_alignBottom="@+id/textView1"
    Android:layout_alignParentRight="true"
    Android:layout_toRightOf="@+id/textView4"
    Android:inputType="textEmailAddress" >

    <requestFocus />
</EditText>

<EditText
    Android:id="@+id/editText2"
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:layout_alignBaseline="@+id/textView2"
    Android:layout_alignBottom="@+id/textView2"
    Android:layout_alignLeft="@+id/editText1"
    Android:layout_alignParentRight="true"
    Android:inputType="textPassword" />

<EditText
    Android:id="@+id/editText3"
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:layout_alignBaseline="@+id/textView3"
    Android:layout_alignBottom="@+id/textView3"
    Android:layout_alignLeft="@+id/editText2"
    Android:layout_alignParentRight="true"
    Android:inputType="textPassword" />


<TextView
    Android:id="@+id/textView4"
    style="@style/normalcode"
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:layout_alignParentLeft="true"
    Android:layout_below="@+id/textView3"
    Android:layout_marginTop="42dp"
    Android:text="Date of Birth" />

<DatePicker
    Android:id="@+id/datePicker1"
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:layout_alignParentRight="true"
    Android:layout_below="@+id/textView4" />

<TextView
    Android:id="@+id/textView5"
    style="@style/normalcode"
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:layout_below="@+id/datePicker1"
    Android:layout_marginTop="60dp"
    Android:layout_toLeftOf="@+id/datePicker1"
    Android:text="Gender" />

<RadioButton
    Android:id="@+id/radioButton1"
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:layout_alignBaseline="@+id/textView5"
    Android:layout_alignBottom="@+id/textView5"
    Android:layout_alignLeft="@+id/editText3"
    Android:layout_marginLeft="24dp"
    Android:text="Male" />

<RadioButton
    Android:id="@+id/radioButton2"
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:layout_alignLeft="@+id/radioButton1"
    Android:layout_below="@+id/radioButton1"
    Android:layout_marginTop="14dp"
    Android:text="Female" />

<Button
    Android:id="@+id/button1"
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:layout_alignParentBottom="true"
    Android:layout_marginBottom="23dp"
    Android:layout_toLeftOf="@+id/radioButton2"
    Android:background="@drawable/rectbutton"
    Android:text="Sign Up" />
3
sashmarsh

J'ai utilisé le

<ScrollView xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:id="@+id/ScrollView01"
Android:layout_width="match_parent"
Android:layout_height="match_parent" >

<RelativeLayout

et fonctionne parfaitement

1
LeoJava