2011-11-22 17 views
8

Ho il seguente pulsante:Come posso ridimensionare lo sfondo di un pulsante?

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

il suo aspetto è:

enter image description here

Come posso ridimensionare il mio drawable e mostrare una piccola freccia?

risposta

1

È possibile ridimensionare l'immagine effettiva a cui punta il drawable.

+2

Non è una buona idea. – breceivemail

+0

Che ne dici di usare un oggetto ScaleDrawable? – zienkikk

5

io non hink è possibile da XML. Non esiste un attributo xml che possa eseguire il ridimensionamento dei pulsanti. È possibile farlo programatically, però, nel modo seguente:

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

Se non si vuole affrontare Bitmap.createScaledBitmap poi mi sembra che il modo migliore per farlo è quello di creare il proprio componente. È possibile estendere RelativeLayout e inserire ImageView in esso, ad esempio.

0

So che questo è un vecchio post, ma ho fatto qualcosa di simile:

<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> 
Problemi correlati