2013-08-09 7 views
22

Ich habe mit Bugs in der Facebook SDK und damit die Bugs zu entfernen Ich brauche ein Zeichen auf nichts nicht NULL nur nichts oder leeren Raum oder etwas. Wie kann ich das programmatisch machen?Wie setze ich einen leeren Zeichensatz

Drawable=... 

Antwort

68

Sie können eine transparente Verwendung ColorDrawable:

Drawable transparentDrawable = new ColorDrawable(Color.TRANSPARENT); 

Das ist ein Drawable ist, dass die transparente Farbe darstellt und nicht über eine innere Größe.

+0

Also, wenn Sie versuchen, die intrinsische Breite zu bekommen, was wird es zurückgeben? –

+1

Ich würde sagen, -1, nach der Quelle. – njzk2

+0

Danke Mann. Ich habe deinen Code benutzt und es hat funktioniert. Ich denke, es hat 0 oder etwas zurückgegeben. Egal, es hat funktioniert. –

3

Leere Drawable mit Breite und Höhe können setBounds (Rect)

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

Wenn Sie eine leere ziehbar von Dimensionen gleiche wie eine andere ziehbar (sagen wir d mit einem transparent ColorDrawable und die Funktion gemacht werden):

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