2012-12-18 57 views
2

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

我使用以下,但图像看起来比它保存为

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

小得多反正有自动设置到它的全尺寸的图像创建一个按钮?

回答

2

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

如果你想为它定义不同的状态(例如按下和不按下),你可以使用xml中定义的drawable来设置它们。

1

在文档TextView#setCompoundDrawablesWithIntrinsicBounds,它说:

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

但是,按钮没有设置可绘制到它的全尺寸的原因,就是我们把图像错误的RES /可绘制文件夹中的应用项目。 您可能会尝试将图像放入其他可绘制文件夹,例如drawable-xhdpi,drawable-hdpi等。图像将以不同的大小显示。请查看此文档Supporting Multiple Screens

相关问题