Creazione di un widget - guida passo passo
- Aggiungi un modulo di servizio. Nota che il modulo di servizio che gestisce la widget è un servizio standard.
- Progetta il layout del widget con il Designer. Prima aggiungi un Panel e quindi aggiungi le altre View in questo Panel.
Il layout del widget verrà creato da questo pannello.
- Aggiungi codice simile al seguente nel modulo di servizio:
link
- Compila e lancia l'applicazione. Vai alla schermata iniziale, premi a lungo sullo schermo e vedrai il tuo widget elencato nella lista widget.
ConfigureHomeWidget è una parola chiave speciale. In fase di esecuzione essa crea l'oggetto RemoteViews dal layout e imposta gli eventi. In fase di compilazione il compilatore genera i file necessari in base agli argomenti di questa parola chiave.
I quattro parametri sono: nome del file di layout, nome dell'evento, intervallo di aggiornamento e nome del widget.
Il nome evento è quello che sarà utilizzato per gli eventi RequestUpdate e Disabled.
Il widget può essere configurato per aggiornarsi automaticamente. L'intervallo, misurato in minuti, definisce quanto spesso il widget si auto-aggiornerà. Impostarlo a 0 per disabilitare gli aggiornamenti automatici. Aggiornare il Widget troppo spesso avrà un impatto negativo sulla batteria. Il valore minimo è di 30 minuti.
Nome Widget - il nome che apparirà nell'elenco widget.
Poiché questi argomenti vengono letti dal compilatore, sono accettati solo stringhe o numeri.
Eventi:
Sub Service_Start (StartingIntent As Intent)
If rv.HandleWidgetEvents(StartingIntent) Then Return
End Sub
Il codice precedente esamina l'Intent che ha generato l'esecuzione del servizio e "scatena" gli eventi legati al widget. Restituisce True se un evento è stato generato.
Il widget genera due eventi:
RequestUpdate viene generato quando il widget ha bisogno di aggiornarsi. Esso scatterà dopo aver aggiunto il widget alla Home, dopo che il dispositivo è stato avviato, in base all'intervallo di aggiornamento programmato (se impostato) o dopo l'applicazione è stata aggiornata;
L'evento Disabled viene generato quando l'ultima istanza del nostro widget viene rimossa dallo schermo.
Come accennato in precedenza, tutte le view [valide] supportano l'evento Click. Tutto ciò che deve essere fatto al fine di gestire l'evento click di un pulsante denominato Button1 è quello di aggiungere una sub di nome Button1_Click (il nome della sub dovrebbe effettivamente corrispondere alla proprietà EventName che di default è lo stesso nome).
Ad esempio, se desideri visualizzare l'Attività principale quando l'utente preme su Button1 puoi usare questo codice:
Sub Button1_Click
StartActivity(Main)
End Sub
Il resto lo traduco più tardi