在AppWidget布局内的ImageView中图像缩放和定位

时间:2019-06-16 12:50:13

标签: android android-layout android-appwidget

注意问题已解决...这是位图本身的问题,而不是用于显示它的XML布局...请参见this comment。除非您很好奇,否则无需继续阅读!


当我将ImageView的内容(在AppWidget布局内的NB)设置为小于ImageView的物理像素大小的位图时,我确定在过去( (不确定多久之前)位图将被放大以适合...在我的情况下,较小的图像与ImageView的长宽比完全相同,所以这正是我想要的效果。

但是最近我注意到这种情况不再发生了……位图位于左上角。我尝试在XML布局中设置各种属性,但没有任何效果。

例如我尝试过:

android:scaleType="fitCenter"

android:scaleType="centerInside"

android:layout_gravity="center"

但是图像仍然位于ImageView中,与左上角齐平,并且在右侧和底部之间留有间隙。

XML(ImageView部分):

<ImageView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/imageView_port"
    android:layout_alignParentTop="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true" />

ImageView位于XML中定义为以下项的父项中:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="@dimen/widget_margin"
    android:id="@+id/widget" >

将图片内容URI放入appwidget中的代码:

remoteViews.setImageViewUri(imageViewId, uri);
appWidgetManager.partiallyUpdateAppWidget(appWidgetId, remoteViews);

它如何查找尺寸与小部件imageview相匹配的图像:

enter image description here

它查找比小部件imageview小的图像的方式:

enter image description here

我希望将较小的图像按比例放大以适合ImageView(它具有相同的宽高比,因此非常适合)。

1 个答案:

答案 0 :(得分:0)

尝试

    android:scaleType="centerCrop"

OR

    android:scaleType="fitXY"