2013-08-09 14 views
22

Ho a che fare con i bug nel SDK di Facebook e quindi per rimuovere i bug ho bisogno di impostare un drawable a niente non NULL solo nulla o spazio vuoto o qualcosa del genere. Come posso farlo programmaticamente?Come impostare un vuoto drawable

Drawable=... 

risposta

68

È possibile utilizzare un trasparente ColorDrawable:

Drawable transparentDrawable = new ColorDrawable(Color.TRANSPARENT); 

Questo è un Drawable che rappresenta il colore trasparente e non hanno una dimensione intrinseca.

+0

Quindi se si tenta di ottenere la larghezza intrinseca, cosa restituirà? –

+1

direi -1, secondo la fonte. – njzk2

+0

Grazie amico. Ho usato il tuo codice e ha funzionato. Penso che sia tornato 0 o qualcosa del genere. Non importa ha funzionato. –

3

vuoto Drawable con larghezza e altezza può essere effettuata utilizzando un trasparente ColorDrawable e la funzione setBounds (Rect)

int left=0,top=0,right=32,bottom=32; 
Drawable transparentDrawable = new ColorDrawable(Color.TRANSPARENT); 
transparentDrawable.setBounds(left,top,right,bottom); 

Se si desidera un drawable vuoto di dimensioni uguale a un altro drawable (diciamo d):

Drawable d = getResources().getDrawable(R.drawable.my_drawable); 
Drawable transparentDrawable = new ColorDrawable(Color.TRANSPARENT); 
transparentDrawable.setBounds(new Rect(0, 0, d.getMinimumWidth(), d.getMinimumHeight())); 
Problemi correlati