2011-11-07 16 views
5

Bene .. Ho alcuni ImageButtons nella mia applicazione Android. Voglio che mostrino l'immagine completa. Voglio dire: voglio che ImageButton sia SOLO l'immagine, sai?Imagebutton immagine intera, angoli arrotondati

Ok ... finora, tutto bene ... Posso farlo usare la proprietà "background".

Tuttavia, desidero anche che ImageButton abbia gli angoli arrotondati.

Ho il seguente xml nella mia cartella di layout:

<?xml version="1.0" encoding="UTF-8"?> 
     <shape xmlns:android="http://schemas.android.com/apk/res/android"> 
      <solid android:color="#FFFFFFFF"/> 
      <corners android:radius="10dip"/> 
      <stroke android:width="8dip"/> 
     <size android:height="8dip"/>  
     </shape> 

Funziona perfetto quando io non voglio l'immagine per riempire l'ImageButton TUTTO ... però quando si tenta di utilizzare l'immagine da usare l'intero imagebutton ... non mostra gli angoli arrotondati.

Qualcuno può aiutarmi, per favore?

Domanda bonus: Inoltre, come posso avere una bella linea nera (angoli arrotondati) attorno al pulsante immagine?

risposta

10

posso suggerire di utilizzare ImageView invece di ImageButton e catturare la sua onClick() Ed è possibile utilizzare questo file XML per dare un bel nero bordi arrotondati contorno alla vostra immagine.

image_bg.xml: (incolla questo file xml nella cartella drawable)

<?xml version="1.0" encoding="UTF-8" ?> 
    <shape xmlns:android="http://schemas.android.com/apk/res/android"> 
    <solid android:color="#000000" /> 
    <stroke android:width="3dp" android:color="#776da8" /> 
    <corners android:bottomRightRadius="5dp" android:bottomLeftRadius="5dp" android:topLeftRadius="5dp" android:topRightRadius="5dp" /> 
    <padding android:left="2dp" android:top="2dp" android:right="2dp" android:bottom="2dp" /> 
    </shape> 

si può usare (in file XML in cui si è aggiunto l'immagine) come:

<ImageView android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:id="@+id/image" 
      android:src="@drawable/icon" 
      android:background="@drawable/image_bg" /> 
+0

Nizza consiglio: 'ImageView' è migliore di' ImageButton' è quel caso. Grazie – shkschneider

2

A cosa serve il pulsante Immagine? Attualmente sto lavorando su una tavola armonica e mi sono imbattuto nello stesso problema. Poi ho capito che non doveva essere un "imagebutton" per poterlo usare come un pulsante. Ora sto solo usando imageview e poi usando onclick. Per quanto riguarda l'estetica della linea nera non lo so, ma le mie immagini hanno angoli arrotondati perché ho inserito le immagini creando icone sotto nuove/altre/icone android. Crea automaticamente uno in ciascuna categoria di dimensioni del disco. Spero che sia d'aiuto!

1

Credo che questo ti aiuterà. Potresti essere in grado di modificarlo leggermente per aggiungere bordi neri quando dipingi la nuova bitmap.

How to make an ImageView with rounded corners?

si può quindi solo collegare un gestore onClick al ImageView.