Android 如何在imageView中缩放和对齐图像

Android 如何在imageView中缩放和对齐图像,android,Android,因此,要将imageView与layou-gravityI对齐,必须使用wrap\u-content <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="right" android:background="@drawable/heart"> </ImageView>

因此,要将
imageView
layou-gravity
I对齐,必须使用
wrap\u-content

<ImageView
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_gravity="right"
     android:background="@drawable/heart">
</ImageView>

不,即使设置了
layout\u gravity
,也不必使用
wrap\u content

布局\重力仅在我将高度和宽度设置为包裹内容时起作用

尝试将父视图组的宽度设置为“匹配父视图”
match\u parent
,以将其全宽展开

<FrameLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <ImageView
        android:layout_width="10dp"
        android:layout_height="10dp"
        android:layout_gravity="right"
        android:background="@drawable/heart" />
</FramaLayout>

在图像视图中使用此选项

android:scaleType="center"

有关更多类型的
scaleType
请参见当您使用
wrap\u content
时,您的
ImageView
会采用图像的大小。更改
图像视图
大小不会改变
布局。使用android:scaleType=“fitEnd”
更改图像对齐方式

ImageView提供了不同的配置选项以支持 不同的鳞片。scaleType选项用于缩放 将图像的边界设置为此视图的边界



我回答了自己的问题。我必须使用
gravity
而不是
layout\u gravity
将图像视图嵌套在父布局中

<LinearLayout
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:gravity="right">

     <ImageView
          android:layout_width="10dp"
          android:layout_height="10dp"
          android:background="@drawable/heart">
     </ImageView>

</LinearLayout>


android:layou gravity
在其父布局中设置
ImageView
gravity
。即使更改
ImageView
layout\u gravity
的大小,它也不会改变。只有当我将高度和宽度设置为包裹内容时,gravity才起作用。将
layout\u gravity=“right”
设置为ImageView,而不是父视图组的
gravity=“right”
也是一样的。
 <ImageView
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:background="@drawable/heart"
         android:scaleType="center"
         android:adjustViewBounds="true">
    </ImageView>
<LinearLayout
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:gravity="right">

     <ImageView
          android:layout_width="10dp"
          android:layout_height="10dp"
          android:background="@drawable/heart">
     </ImageView>

</LinearLayout>