2012-03-22 10 views
7

Ho un layout di appwidget con una visualizzazione di testo e una visualizzazione di immagini.setCompoundDrawables with RemoteViews

Lint mi dice sempre di sostituirlo con una vista testo composta.

Il problema è, come si chiama setCompoundDrawables con RemoteViews? è possibile?

grazie.

UPDATE:http://code.google.com/p/android/issues/detail?id=29249

+0

non riesco a ricordare come ho fatto o se sia rilevante, ma una volta ho annotato un metodo come "@Remotable" e sono stato in grado di richiamarlo in seguito. Non sono sicuro che possa essere d'aiuto in questo caso. Altrimenti, non vedo nessun altro modo in cui possa essere fatto. –

risposta

1

Quando si utilizza setCompoundDrawables, è necessario il codice come:

Drawable img; 
Resources res = getResources(); 
img = res.getDrawable(R.drawable.btn_img); 
//You need to setBounds before setCompoundDrawables , or it couldn't display 
img.setBounds(0, 0, img.getMinimumWidth(), img.getMinimumHeight()); 
btn.setCompoundDrawables(img_off, null, null, null); 

quindi è necessario avere modi per chiamare getResources()! È possibile passare il contesto attività come parametro per utilizzare getResources() & findViewById.

+3

getResources non è il problema. RemoteViews non ha il metodo setCompoundDrawables. La mia risposta attuale è che non è possibile. forse in jellybean .. – Ran

+0

Capito, grazie ~~ – Wangchao0721

0

uso setTextViewCompoundDrawables

contentiew.setTextViewCompoundDrawables(R.id.setting_btn, 0, R.mipmap.ic_gray_setting,0,0);