web-dev-qa-db-ja.com

android: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" />
45
Yang

ImageViewには属性wrap_contentがあります。 ImageViewはImageViewの中央に配置されていますが、ImageView自体はparentviewの中央に配置されていないと思います。画面に画像ビューしかない場合は、match_parentの代わりにwrap_contentを試してください。レイアウトに複数のビューがある場合は、imageviewを中央に配置する必要があります。

45
Janusz
<ImageView
    Android:id="@+id/img"
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:layout_gravity="center" />
75
Neil Chan

以下を使用して、ImageView自体を中央に配置できます。

Android:layout_centerVertical="true" または Android:layout_centerHorizontal="true"垂直または水平用。または、親の中央に配置するには:

Android:layout_centerInParent="true"

しかし、実際のソース画像をimageview自体の中心に配置しようとしているように聞こえますが、これについてはわかりません。

33
Matt Swanson

これは、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"
    />
13
klaydze

このコードを試してください:

 <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>
7
Abbes Yassine

試してください:

Android:layout_height="wrap_content"
Android:scaleType="fitStart"

RelativeLayoutの画像上

2
Mark Tickner

Layout_widthに「fill_parent」のみを使用すると、トリックが実行されます。

 <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
cdavidyoung

私のために Android:gravity="center"は、親レイアウト要素でトリックを行いました。

<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
Kovács Ede

この属性を使用します:Android:layout_centerHorizo​​ntal = "true"

0
Thamo Tham