2012-04-05 8 views
4

I Galerie verwenden wie dieseGalerieansicht startet nicht von links

<Gallery 
    android:id="@+id/gallery1" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_marginBottom="10dp" 
    android:spacing="2dp" > 
</Gallery> 

aber wenn ich den Code leite ich Galerie zu finden bin von Mitte beginnen und ich möchte es von links zu starten. Was soll ich dafür tun, bitte hilf mir.

+0

Verwenden Sie einen Adapter? Wenn ja, können Sie den Code für Ihren Adapter eingeben? – Deva

+0

Dieser Beitrag wird helfen: http://stackoverflow.com/questions/4341158/android-align-first-item-in-gallery-to-the-left –

Antwort

2

legen Sie einfach die Auswahl der Galerie zu nächsten, die dieser Galerie in der linken Position ähneln.

Gallery mGallery= (Gallery) findViewById(R.id.gallery); 
mGallery.setSelection(1); 

dann mit dem normalen Arbeit fortsetzen :)

+1

Danke für die Antwort, aber es funktioniert nicht –

0

Set der Galerie auf die negative ganze Zahl linken Rand (etwa -80 dip). Um richtig zu berechnen Sie für die Bildschirmbreite zur Laufzeit überprüfen würden und dann gegeben Ihre Position (Bild) Breiten Sie etwas tun, wie:

int offset = width/2 - itemWidth/2; // you may add your spacing here too 
    MarginLayoutParams mlp = (MarginLayoutParams) getLayoutParams(); 
    mlp.setMargins(-offset, mlp.topMargin, mlp.rightMargin, mlp.bottomMargin); 
1

Was müssen Sie verwenden ist .setSelection nicht .setSelected, Beispiel unten

Galerie gallery = (Galerie) findViewById (R.id.gallery);

gallery.setSelection (1);

0

dieses Probieren Sie es funktioniert .....

Gallery g=(Gallery)findViewById(R.id.gallery1);

MarginLayoutParams mlp=(MarginLayoutParams)g.getLayoutParams();

mlp.setMargins(-200, 0, 0, 0);

2

Sie sollten setSelection verwenden (1), aber es ist wichtig, es nach setAdapter zu platzieren() . In einem anderen Fall funktioniert es nicht.

Gallery gallery = (Gallery) findViewById(R.id.gallery); 
gallery.setAdapter(new GalleryImageAdapter(this)); 
gallery.setSelection(1); 
7

Eine Struktur allgemeine Informationen über eine Anzeige beschreibt, wie seine Größe, Dichte und Schrift scaling.To die DisplayMetrics Mitglieder zugreifen, initialisieren ein Objekt wie dieses

 DisplayMetrics metrics = new DisplayMetrics(); 
     getWindowManager().getDefaultDisplay().getMetrics(metrics); 

     Gallery g = (Gallery) findViewById(R.id.gallery); 

     // set gallery to left side 
     MarginLayoutParams mlp = (MarginLayoutParams) g.getLayoutParams(); 
     mlp.setMargins(-(metrics.widthPixels/2 + (imageWidth/2)), mlp.topMargin, 
        mlp.rightMargin, mlp.bottomMargin);