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" />
37
demandé sur Yang 2010-04-06 22:27:14

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.

40
répondu Janusz 2016-02-04 16:56:10
<ImageView
    android:id="@+id/img"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center" />
69
répondu Neil Chan 2018-08-22 13:44:52

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.

31
répondu Matt Swanson 2011-11-02 23:42:20

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"
    />
12
répondu klaydze 2013-09-21 00:22:22

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>
6
répondu Abbes Yassine 2016-04-02 00:10:40

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" />
2
répondu cdavidyoung 2012-11-01 21:57:27

Essayez:

android:layout_height="wrap_content"
android:scaleType="fitStart"

Sur l'image dans le RelativeLayout

2
répondu Mark Tickner 2015-03-14 15:30:35

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>
2
répondu Kovács Ede 2015-05-04 18:34:10

Utiliser cet attribut: android: layout_centerHorizontal= "true"

0
répondu Thamo Tham 2014-11-15 11:17:40

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>
-1
répondu DarckBlezzer 2015-12-10 18:20:54