web-dev-qa-db-fra.com

Liste de défilement horizontale Android

Dupliquer possible:
ListView horizontal dans Android?

Je veux un défilement horizontal comme Galerie. Je n'utilise pas Gallery car son centre est verrouillé.

Est-ce que quelqu'un ici pourrait m'aider avec ça pour que je puisse avoir une liste de défilement horizontale?

Je pense que le meilleur exemple est Pulse News Reader: - https://market.Android.com/details?id=com.alphonso.Pulse

Merci :)

15
Umakant Patil

http://developer.Android.com/reference/Android/widget/HorizontalScrollView.html ?

EDIT: Ok après avoir découvert que je n’ai pas besoin de post RTFM, j’ai cherché un peu et cela a déjà été demandé:

ListView horizontal dans Android?

Et a déjà été mis en œuvre ici:

http://dev-smart.com/?p=34

11
Torp

J'ai créé une vue à l'aide de ScrollView et HorizontalScrollView pour vous donner au moins un début. Voici le code XML de ce code:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:orientation="vertical" Android:layout_width="fill_parent"
    Android:layout_height="wrap_content">
    <LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
        Android:orientation="vertical" Android:layout_width="fill_parent"
        Android:layout_height="wrap_content" Android:padding="5dp">

        <HorizontalScrollView Android:layout_width="fill_parent"
            Android:layout_height="fill_parent">
            <LinearLayout Android:id="@+id/a" Android:layout_width="fill_parent"
                Android:layout_height="wrap_content" Android:padding="5dp"
                Android:layout_weight="1">
            </LinearLayout>
        </HorizontalScrollView>

        <HorizontalScrollView Android:layout_width="fill_parent"
            Android:layout_height="fill_parent">
            <LinearLayout Android:id="@+id/b" Android:layout_width="fill_parent"
                Android:layout_height="wrap_content" Android:padding="5dp"
                Android:layout_weight="1">
            </LinearLayout>
        </HorizontalScrollView>

        <HorizontalScrollView Android:layout_width="fill_parent"
            Android:layout_height="fill_parent">
            <LinearLayout Android:id="@+id/c" Android:layout_width="fill_parent"
                Android:layout_height="wrap_content" Android:padding="5dp"
                Android:layout_weight="1">
            </LinearLayout>
        </HorizontalScrollView>

        <HorizontalScrollView Android:layout_width="fill_parent"
            Android:layout_height="fill_parent">
            <LinearLayout Android:id="@+id/d" Android:layout_width="fill_parent"
                Android:layout_height="wrap_content" Android:padding="5dp"
                Android:layout_weight="1">
            </LinearLayout>
        </HorizontalScrollView>

    </LinearLayout>
</ScrollView>

Plus code Java:

public class SampleActivity extends Activity {

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        LinearLayout linearLayout = (LinearLayout) findViewById(R.id.a);
        LinearLayout linearLayout1 = (LinearLayout) findViewById(R.id.b);
        LinearLayout linearLayout2 = (LinearLayout) findViewById(R.id.c);
        LinearLayout linearLayout3 = (LinearLayout) findViewById(R.id.d);

        for (int i = 0; i < 10; i++) {

            ImageView imageView = new ImageView(this);
            imageView.setImageResource(R.drawable.sample_0);
            linearLayout.addView(imageView);

            ImageView imageView1 = new ImageView(this);
            imageView1.setImageResource(R.drawable.sample_1);
            linearLayout1.addView(imageView1);

            ImageView imageView2 = new ImageView(this);
            imageView2.setImageResource(R.drawable.sample_2);
            linearLayout2.addView(imageView2);

            ImageView imageView3 = new ImageView(this);
            imageView3.setImageResource(R.drawable.sample_3);
            linearLayout3.addView(imageView3);
        }
    }

}

J'ai aussi essayé de télécharger des captures d'écran, mais je suppose que cela a été bloqué par le pare-feu de mon réseau. alors les téléchargera plus tard.

J'espère que cela t'aides!!

4
mudit
 <HorizontalScrollView>
   ....Horizontal LinearLayout here....
</HorizontalScrollView>

À l'intérieur de Horizontal LinearLayout, vous pouvez ajouter toutes vos vues ...

2
Umesh
<HorizontalScrollView>
....your layout here....
</HorizontalScrollView>
1
DKIT

Téléchargez Pulse apk, décompilez-vous avec dex2jar + JD-GUI et regardez comment ils le font!

Extrait:

package com.alphonso.Pulse.views;

import Android.content.Context;
import Android.content.res.Resources;
import Android.util.AttributeSet;
import Android.util.DisplayMetrics;
import Android.widget.Gallery;

public class HorizontalTileView extends Gallery
{
... etc

Est-ce qu'un gentilhomme/dame peut ensuite utiliser ceci pour nous écrire un tutoriel sur la mise en œuvre? :-)

1
YiEn

Pouvez-vous changer le Android:gravity dans la galerie?

0
KilledKenny