2

我正在尝试使用文本和 drawableTop 创建按钮。我希望 drawableTop 成为存储图像的常规尺寸,因为我对不同的屏幕尺寸有不同的尺寸。将高度和宽度设置为 match_parent 似乎是基于文本,并将它们设置为 dip 值会更改按钮的大小,但不会更改图像。我尝试了 scaleX 和 scaleY,但这也改变了文本的大小,这是我不想要的。

我正在使用以下内容,但图像看起来比它保存的要小得多

<Button
    android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/label"
android:drawableTop="@drawable/my_image" />

无论如何创建一个带有自动设置为全尺寸的图像的按钮?

4

2 回答 2

2

您可以使用普通的 ImageView 并为其设置 onClickListener 或 XML onClick 属性。

如果您想要不同的状态(例如按下和未按下),您可以使用 xml 中定义的可绘制对象来设置它们。

于 2012-12-18T18:58:59.557 回答
1

在文档TextView#setCompoundDrawablesWithIntrinsicBounds中,它说:

The Drawables' bounds will be set to their intrinsic bounds.

但是,按钮未将可绘制对象设置为完整大小的原因是我们将图像放置在应用程序项目中的错误 res/drawable 文件夹中。您可以尝试将图像放到其他可绘制文件夹中,例如 drawable-xhdpi、drawable-hdpi 等。图像会以不同的大小显示。请查看此文档Supporting Multiple Screens

于 2012-12-21T07:50:20.827 回答