如何将ImageView大小设置为与图像相同并使其居中?

时间:2014-07-24 09:18:43

标签: android xml image android-layout imageview

如您所见,我有一个框架布局,在其中,我有一个ImageView。当我使用下面的代码并将图像设置为ImageView时,图像不会出现在屏幕的中央,而框架和ImageView不会包裹图像。换句话说,FrameLayout中的一些白色空白出现在图像之外。我只想做FrameLayout和图像视图的大小与图像相同,并使它们在屏幕中居中。

<FrameLayout
    android:id="@+id/editor_frame"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">
    <ImageView
        android:id="@+id/image_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:contentDescription="@null"
        android:scaleType="centerInside"
        android:adjustViewBounds="true" />
</FrameLayout>

2 个答案:

答案 0 :(得分:0)

将图像置于布局中心:

<RelativeLayout
   android:id="@+id/editor_frame"
   android:layout_width="match_parent"
   android:layout_height="match_parent">

   <ImageView
    android:id="@+id/image_view"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"
    android:contentDescription="@null"
    android:adjustViewBounds="true" />


</RelativeLayout>

答案 1 :(得分:0)

中心水平和垂直必须在FrameLayout中生效,然后它将位于父布局的中心,同时使用ImageView。它将在FrameLayout

的中心绘制
<FrameLayout
    android:id="@+id/editor_frame"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true">
    <ImageView
        android:id="@+id/image_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:contentDescription="@null"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:adjustViewBounds="true" />
</FrameLayout>