Quando si lavora con le ImageButton può capitare di avere la necessità di aggiungere in maniera programmatica un'immagine all'interno del bottone e che questa, per motivi di dimensioni ossia quando la larghezza o l'altezza dell'immagine è superiore rispetto a quella del bottone, non si adatti adeguatamente a quest'ultimo.
A livello visivo questa situazione non è certamente gradevole pertanto per fare in modo che l'immagine occupi lo spazio delimitato (o una sua porzione come ad esempio il 75% dell'area) una maniera potrebbe essere quella di andare ad agire sul tag ImageButton nel relativo file .xml di layout (as esempio res/layout/main.xml), aggiungendo due particolari proprietà:
android:scaleType="fitCenter"
android:adjustViewBounds="true"
La prima, come si intuisce dal nome, permette di scalare l'immagine ed in questo caso centrarla in base alle dimensioni dell'ImageView e la seconda per mantenere le sue proporzioni evitando che si distoca.
Le proprietà in questione possono essere aggiunte anche programmaticamente, ma il metodo descritto è oggettivamente più semplice ed immediato.
Se si vuole lasciare un po' di margine tra i bordi del bottone e l'immgine al suo interno basterà aggiungere la proprietà android:padding="20dp" (aggiustando il valore in base alle proprie esigenze).
Riepilogando il codice da utilizzare è il seguente:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<ImageButton
android:id="@+id/imageButton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:scaleType="fitCenter"
android:padding="20dp" />
</LinearLayout>
Ed il risultato (in Fig. 1):
Fig. 1 - Immagine adattata alle dimensioni di un'ImageButton
Nel caso l'immagine fosse aggiunta non programmaticamente ma direttamente nel file .xml di layout tramite la proprietà android:src="@drawable/android_button" il problema oggetto di questo articolo non sussiste.
Nessuno ha ancora commentato questo articolo, fallo tu per primo!
Scrivi un Commento