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 :)
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:
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!!
<HorizontalScrollView>
....Horizontal LinearLayout here....
</HorizontalScrollView>
À l'intérieur de Horizontal LinearLayout, vous pouvez ajouter toutes vos vues ...
<HorizontalScrollView>
....your layout here....
</HorizontalScrollView>
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? :-)
Pouvez-vous changer le Android:gravity
dans la galerie?