我正在尝试使用text和drawableTop创建按钮。我希望drawableTop是存储图像的常规尺寸,因为我对不同的屏幕尺寸有不同的尺寸。将height和width设置为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" />
是否有创建按钮的图像自动设置为全尺寸?
答案 0 :(得分:2)
您可以使用普通的ImageView并为其设置onClickListener或XML onClick属性。
如果你想要不同的状态(例如按下和未按下),你可以使用xml中定义的drawable来设置它们。
答案 1 :(得分:1)
在文档TextView#setCompoundDrawablesWithIntrinsicBounds中,它说:
The Drawables' bounds will be set to their intrinsic bounds.
但是,按钮没有设置为可绘制的全尺寸的原因是我们将图像放在app项目中错误的res / drawable文件夹中。 您可以尝试将图像放到其他可绘制文件夹,例如drawable-xhdpi,drawable-hdpi等。图像将以不同的大小显示。请查看此文档Supporting Multiple Screens。