2010-09-27 7 views
4

Comment puis-je centre ImageButton dans la présente LinearLayoutAndroid: Centre ImageButton à LinearLayout

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:background="@drawable/main" 
> 

ImageButton

   <ImageButton android:id="@+id/btnBut" 
         android:background="@drawable/button" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" /> 

Je ne veux pas utiliser des tailles fixes.

Merci

Répondre

10

Utilisation android:layout_gravity attribut:

<ImageButton android:id="@+id/btnBut" 
    android:background="@drawable/button" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center" /> 
+0

Je tente avec ce centre ImageButton mais seulement horizontal, je veux être au centre de l'écran. Pouvez-vous m'aider ? Merci – Jovan

+0

Pouvez-vous poster toute la mise en page alors? –

+1

J'ai corrigé cela avec RelativeLayout et android: layout_centerInParent = "true" – Jovan

4

Le code suivant fonctionne pour moi:

<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal" 
    android:layout_alignParentBottom="true" 
    android:gravity="center_horizontal" 
> 
    <ImageButton 
    android:id="@+id/btnBut" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:src="@drawable/button" 
    > 
    </ImageButton> 
</LinearLayout> 
0

Si vous voulez centrer le contenu dans un linerlayout, vous devez définir Android: orientation = "verticale". il est inutile de parler centre en android: orientation = "horizontal". Je pense que vous comprenez la raison maintenant.