使Android单选按钮的“按钮”可绘制缩小以适应边界并保持纵横比

时间:2012-07-24 08:35:23

标签: android android-layout android-widget

我正在尝试制作自定义单选按钮。我的<selector>配置如下:

<selector xmlns...>
  <item android:drawable="@drawable/image" android:state_checked="true" />
  <item android:drawable="@drawable/image" android:state_checked="false" />
</selector>

这只是一个示例,所以为了简单起见,我使用相同的图像,但我打算在以后使用由@drawable/image和稍大的矩形组成的复合图像。图像大于我想要的单选按钮大小,所以我的问题不是缩小图像,使图像保留其在<RadioButton />的宽高比,图像刚刚被裁剪(一半,准确)。由于这不是图像视图,我不知道如何使其正确缩放。

我已设置layout_width&amp; layout_heightwrap_content。我计划稍后在资源文件中编码绝对dp值,但我想弄清楚如何使图像正确缩放以适应指定的尺寸。我看到的一个替代方案是使用GIMP预先调整我的图像大小,但从长远来看,这似乎不太适应,特别是如果我需要在多个屏幕密度上正常工作。

刚才,我尝试使用<inset />,希望能让它调整大小,但这没有用。

有什么建议吗?

1 个答案:

答案 0 :(得分:3)

为我创建虚拟背景[在API8和16上测试]:

<RadioButton
 android:id="@+id/stKayaBkRad"
 android:background="@drawable/goban_rad_bkg"
 android:button="@drawable/rad_goban_kaya_sel"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"/>

显然wrap_content 包装背景,这只是一个完全透明的png,其大小与drawable相同。