2011-11-22 89 views
8

我有以下按鈕:如何縮放按鈕的背景?

<Button 
android:id="@+id/buttonok" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:drawableLeft="@drawable/back_no_save" 
android:text="OK" /> 

其appearence是:

enter image description here

我怎樣才能縮小我的繪製,並顯示一個小箭頭?

回答

1

您可以縮小drawable指向的實際圖形。

+2

這不是一個好主意。 – breceivemail

+0

如何使用ScaleDrawable? – zienkikk

5

不知從XML hink即可。沒有xml屬性可以對按鈕進行縮放。你可以這樣做編程,雖然,以下列方式:

Bitmap originalBitmap= BitmapFactory.decodeResource(getResources(), R.drawable.icon); 
Bitmap scaledBitmap=Bitmap.createScaledBitmap(originalBitmap, newWidth, newHeight, true); 
txt.setBackgroundDrawable(new BitmapDrawable(bit)); 
1

如果你不想處理Bitmap.createScaledBitmap那麼在我看來,最好的辦法做到這一點是要創建自己的組件。 例如,您可以擴展RelativeLayout並將其放入ImageView

0

我知道這是舊的文章,但我確實是這樣的:

<LinearLayout 
    android:layout_height="wrap_content" 
    android:layout_width="wrap_content" 
    android:padding="16dp" 
    android:id="@+id/XXXXXXXXXXXX" 
    android:orientation="horizontal"> 
    <ImageView 
     android:src="@drawable/XXXXXXXXXXXX" 
     android:layout_width="48dp" 
     android:layout_height="48dp" 
     android:scaleType="centerInside" 
     android:id="@+id/XXXXXXXXXXXXXXXX"/> 
    <TextView 
     android:id="@+id/XXXXXXXXXXXXXX" 
     android:layout_height="wrap_content" 
     android:layout_width="wrap_content" 
     android:text="XXXXXXX" 
     android:layout_gravity="center"/> 
</LinearLayout>