我有一个应用小部件,在其中我想在右下角显示我的应用图标的缩小版本。图像的尺寸为 36x36,图像在这些尺寸下看起来很好,但我希望图像更小,大约 18x18。但是,如果我在图像编辑器中调整图像大小或尝试在代码中缩放图像,图像会出现失真。
这是图像的正常外观:
这是缩放的图像:
这是ImageView
我正在使用的代码:
<ImageView
android:id="@+id/widgetIcon"
android:src="@drawable/icon"
android:layout_width="18dp"
android:layout_height="18dp"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:scaleType="centerCrop"
/>
更新:
我实际上将图像放在不同的可绘制文件夹中,如下所示:
可绘制的 ldpi:36x36
可绘制 mdpi:48x48
可绘制的 hdpi:72x72
可绘制 xdpi:96x96
我截取屏幕截图的设备是 Galaxy Nexus。
更新 2:
这是整个布局ImageView
,如果有区别的话。小部件RelativeLayout
底部有ImageView
.
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/widgetLayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="@dimen/widget_margin">
<RelativeLayout
android:id="@+id/widgetBgLayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:paddingTop="10dp"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:background="@drawable/bg_widget"
>
<RelativeLayout
android:id="@+id/widgetStatusLayout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_alignParentBottom="true"
android:paddingTop="10dp"
>
<TextView
android:id="@+id/widgetStatus"
style="@style/WidgetStatus"
android:layout_centerVertical="true"
android:layout_alignParentLeft="true"
/>
<ImageView
android:id="@+id/widgetIcon"
android:src="@drawable/icon"
android:layout_width="18dp"
android:layout_height="18dp"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:scaleType="centerInside"
android:adjustViewBounds="true"
/>
</RelativeLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_above="@id/widgetStatusLayout"
android:layout_alignParentTop="true"
>
<TextView
android:id="@+id/widgetTitle"
style="@style/WidgetTitle"
/>
<TextView
android:id="@+id/widgetText"
style="@style/WidgetText"
/>
</LinearLayout>
</RelativeLayout>
</FrameLayout>
更新 3
问题不在于图像缩放,而是图像上方的布局重叠。虽然不确定解决方案。