android: comment aligner l'image dans le centre horizontal de l'imageview?
J'ai essayé tous les types d'échelle, mais tous aboutissent à ce que l'image soit dans le coin gauche de l'imageview.
<ImageView
android:id="@+id/image"
android:scaleType="centerInside"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="6dip"
android:background="#0000"
android:src="@drawable/icon1" />
10 réponses
Votre ImageView a l'attribut wrap_content
. Je pense que l'Image est centrée à l'intérieur de l'imageview mais l'imageview lui-même n'est pas centré dans le parentview. Si vous n'avez que l'imageview à l'écran, essayez match_parent
au lieu de wrap_content
. Si vous avez plus d'une vue dans la mise en page, vous devez centrer l'imageview.
<ImageView
android:id="@+id/img"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center" />
Vous pouvez centrer L'ImageView lui-même en utilisant:
android:layout_centerVertical="true"
ou android:layout_centerHorizontal="true"
Pour vertical ou horizontal. Ou pour centrer à l'intérieur du parent:
android:layout_centerInParent="true"
Mais il semble que vous essayez de centrer l'image source réelle dans l'imageview elle-même, ce que je ne suis pas sûr.
Cela fonctionne pour moi lors de l'alignement de la vue de l'image dans linearlayout.
<ImageView android:id="@android:id/empty"
android:src="@drawable/find_icon"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center"
android:scaleType="center"
/>
Essayez ce code :
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal">
<ImageView
android:id="@+id/imgBusiness"
android:layout_width="40dp"
android:layout_height="40dp"
android:src="@drawable/back_detail" />
</LinearLayout>
Utiliser "fill_parent" seul pour la layout_width fera l'affaire:
<ImageView
android:id="@+id/image"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginRight="6dip"
android:background="#0000"
android:src="@drawable/icon1" />
Essayez:
android:layout_height="wrap_content"
android:scaleType="fitStart"
Sur l'image dans le RelativeLayout
Pour moi android:gravity="center"
a fait l'affaire dans l'élément de mise en page parent.
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:orientation="vertical" >
<ImageView
android:id="@+id/fullImageView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:contentDescription="@string/fullImageView"
android:layout_gravity="center" />
</LinearLayout>
Utiliser cet attribut: android: layout_centerHorizontal= "true"
C'est du code en xml de la façon de centrer un ImageView, j'ai utilisé "layout_centerHorizontal".
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_centerHorizontal="true"
>
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:src="@drawable/img2"
/>
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:src="@drawable/img1"
/>
</LinearLayout>
Ou cet autre exemple...
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_horizontal"
>
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:src="@drawable/img2"
/>
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:src="@drawable/img1"
/>
</LinearLayout>