アプリ ウィジェットがあり、その中でアプリのアイコンの縮小バージョンを右下に表示したいと考えています。画像のサイズは 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
問題は画像のスケーリングではなく、画像の上のレイアウトが重なっています。しかし、解決策はわかりません。