2010-07-15 7 views
5

Tengo un widget de pantalla de inicio con un botón de imagen. Tengo el botón funcionando con una intención pendiente, pero parece que no puedo ver cómo cambiar la imagen del botón cuando se presiona.ImageButton en el widget de la pantalla de inicio de Android

He intentado usar un selector y funciona en mi actividad de prueba de widgets, pero no en la vista remota.

¿Cómo podría implementar esta funcionalidad en el widget de la pantalla de inicio?

+0

Hola Josh, ¿usted fINF una manera para conseguir mantenerse este estado prensa? Gracias – nirs

Respuesta

0

Pude hacerlo funcionar moviendo el selector dentro de su propio archivo XML y poniendo en res/dibujable y luego haciendo referencia a ese archivo xml como mi recurso para mi botón de imagen en la aplicación widgets xml.

buttonimg.xml:

<?xml version="1.0" encoding="utf-8"?> 
<selector 
xmlns:android="http://schemas.android.com/apk/res/android"> 
<item 
android:state_pressed="false" 
android:drawable="@drawable/button_off" /> 
<item 
android:state_pressed="true" 
android:drawable="@drawable/button_on" /> 
<item 
android:drawable="@drawable/button_off" /> 
</selector> 

widget_layout.xml

<ImageButton 
android:id="@+id/buttonimg" 
android:layout_width="50dp" 
android:layout_height="50dp" 
android:layout_x="0px" 
android:layout_y="2px" 
android:clickable="true" 
android:src="@drawable/button" 
> 

ahora tengo un problema diferente, sin embargo. El selector solo me permite cambiar la imagen enPresionar. En la liberación, la imagen cambia de nuevo> :-(

¿Cómo consigo el cambio de estado de imagen en prensa y permanecer en ese estado hasta el próximo prensa (como el ToggleButton)?

+0

eso es lo que se supone un selector que hacer. después de soltar el botón debe cambiar la imagen mediante programación ... mira la respuesta anterior –

3

se puede establecer una imagen diferente dentro su vista remota.

remoteView.setInt(R.id.buttonimg, "setImageResource", R.drawable.button_on); 
Cuestiones relacionadas