2012-12-18 55 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

相關問題