2012-03-22 5 views
7

Tengo un diseño de appwidget con una vista de texto y una vista de imagen.setCompoundDrawables con RemoteViews

Lint siempre me dice que lo reemplace con una vista de texto compuesta.

El problema es, ¿cómo puedo llamar setCompoundDrawables con un RemoteViews? ¿es posible?

gracias.

ACTUALIZACIÓN:http://code.google.com/p/android/issues/detail?id=29249

+0

No puedo recordar cómo lo hice o si es relevante, pero una vez que anoté un método como "@Remotable" y pude invocarlo más tarde. No estoy seguro de si puede ayudar en este caso. De lo contrario, no veo otra forma de hacerlo. –

Respuesta

1

Cuando se utiliza setCompoundDrawables, es necesario un código como:

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); 

lo que debe tener maneras de llamar getResources()! Puede pasar el contexto de actividad como parámetro para usar getResources() & findViewById.

+3

getResources no es el problema. RemoteViews no tiene el método setCompoundDrawables. Mi respuesta actual es que no es posible. tal vez en jellybean .. – Ran

+0

Entendido, gracias ~~ – Wangchao0721

0

setTextViewCompoundDrawables uso

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