web-dev-qa-db-fra.com

Comment faire une configuration linéaire défilable?

Hé tout - est-il possible de faire une configuration linéaire entière défilable quand elle doit être? (Lorsque tous les éléments de la disposition ne correspondent pas à l'écran principal)?

Je sais que c'est faisable avec des vues, etc ... mais y a-t-il un moyen d'intégrer tout sur la mise en page à faire défiler en même temps?

Peut-être que défilable n'est pas le bon terme ... Fondamentalement - si l'un des éléments (un bouton dans ce cas) ne le rend pas entièrement sur l'écran principal du téléphone et que j'ai besoin de glisser un doigt pour y accéder .. .si ça a du sens.

25
Sapp

Un linearlayout est une sous-classe de vision, de sorte que tout ce que vous puissiez faire avec une vue, vous pouvez avec une mise en page linéaire.

Alors utilisez simplement ScrollView avec un seul linearlayout comme enfant

61
pheelicks

Il suffit d'illustrer ce que les autres gars parlent de

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

    <LinearLayout
        Android:layout_width="match_parent"
        Android:layout_height="match_parent"
        Android:gravity="center|left"
        Android:orientation="vertical" >

         Here is your layout!

    </LinearLayout>

</ScrollView>
29
Rodrigo Hernandes

Oui, vous pouvez rendre votre affichage entière défilable à l'aide de ScrollView mais car vous ne pouvez contenir qu'un seul enfant principal afin d'ajouter une autre vue linéaire à ScrollView et de mettre vos autres vues à l'intérieur.

-Vue principale

- ScrollView

--- View linéaire

---- Sous-Vue 1

---- Sous-View 2

---- Sous-View 3

....

10
Sharj

vous pouvez faire une configuration défilable. Un peu moins de <?xml version="1.0" encoding="utf-8"?> Ajouter ces lignes:

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

et à la fin add </ScrollView>

exemple d'activité non défilable:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
    xmlns:tools="http://schemas.Android.com/tools"
    Android:id="@+id/activity_main"
    Android:layout_width="match_parent"
    Android:layout_height="match_parent"
    Android:orientation="vertical"
    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:verticalScrollbarPosition="right"
    tools:context="p32929.demo.MainActivity">


    <TextView
        Android:text="TextView"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:layout_alignParentTop="true"
        Android:layout_centerHorizontal="true"
        Android:layout_marginTop="102dp"
        Android:id="@+id/textView"
        Android:textSize="30sp" />
</RelativeLayout>

Après avoir fait défiler, cela devient comme ça:

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

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

    <RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
        xmlns:tools="http://schemas.Android.com/tools"
        Android:id="@+id/activity_main"
        Android:layout_width="match_parent"
        Android:layout_height="match_parent"
        Android:orientation="vertical"
        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:verticalScrollbarPosition="right"
        tools:context="p32929.demo.MainActivity">


        <TextView
            Android:id="@+id/textView"
            Android:layout_width="wrap_content"
            Android:layout_height="wrap_content"
            Android:layout_alignParentTop="true"
            Android:layout_centerHorizontal="true"
            Android:layout_marginTop="102dp"
            Android:text="TextView"
            Android:textSize="30sp" />
    </RelativeLayout>
</ScrollView>
2
p32929