Crear widgets básicos para Android

En esta entrada exlicaré cómo crear un Widget estático para Android. Para empezar crearemos el layout “miwidget.xml” con el código:

 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#000000"
    android:padding="10dp"
    android:layout_margin="5dp" >

    <FrameLayout android:id="@+id/frmWidget"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#FFFFFF"
        android:padding="5dp" >

        <TextView android:id="@+id/txtMensaje"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:textColor="#000000"
            android:text="widget basico" />

    </FrameLayout>

</FrameLayout>

Con la interfaz del widget creada ahora definiremos algunas propiedades de éste en otro XML, que llamaremos “miwidget_wprovider.xml”:

 <?xml version="1.0" encoding="utf-8"?>
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
    android:initialLayout="@layout/miwidget"
    android:minWidth="110dip"
    android:minHeight="40dip"
    android:label="widget basico"
    android:updatePeriodMillis="3600000"

     android:layout_height="20dip"
    android:layout_width="20dip"/>

Y una clase asociada “MiWidget.java”, que no contendrá ningún método ya que no necesitamos actualizar ningún dato, por lo que tendría el código:

import android.appwidget.AppWidgetManager;
import android.appwidget.AppWidgetProvider;
import android.content.Context;

public class MiWidget extends AppWidgetProvider {
    @Override
    public void onUpdate(Context context,
                         AppWidgetManager appWidgetManager,
                         int[] appWidgetIds) {
        //Actualizar el widget
        //...
    }
}

Y por último tenemos que declararlo en el AndroidManifest.xml, por lo que añadimos a éste:

<receiver android:name=".MiWidget" android:label="Mi Primer Widget">
   <intent-filter>
      <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
   </intent-filter>
   <meta-data
      android:name="android.appwidget.provider"
      android:resource="@layout/miwidget_wprovider" />
</receiver>

Ya estaría creado, para acceder a él vamos a la sección de “Widgets” y lo encontramos por el nombre que le hemos puesto en el manifest:
Para usarlo pulsamos y lo arrastramos en la pantalla hasta donde queramos situarlo:

Anuncios

Un comentario en “Crear widgets básicos para Android

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s