Vorrei aggiornare il mio widget ogni volta che viene ridimensionato.
Cool!
ho capito che questo è fatto in onAppWidgetOptionsChanged()
Più precisamente, se avete le azioni giuste nel vostro <intent-filter>
, su Android 4.1 e versioni successive dispositivi, si scoprire ridimensionare gli eventi tramite onAppWidgetOptionsChanged()
.
Ma non riesco a scoprire come aggiornare il widget in esso.
Si aggiorna nello stesso modo in cui lo si aggiorna in onUpdate()
. Chiama lo updateAppWidget()
allo AppWidgetManager
con uno RemoteViews
appropriato.
Ho provato a ridisegnare il widget richiamando tutto ciò che ho inserito in suUpdate(), ma non funziona.
"non funziona" non è una descrizione particolarmente efficace dei sintomi.
Come posso utilizzare il pacchetto?
Per un Bundle
nome newOptions
, si può scoprire la nuova gamma di dimensioni via:
newOptions.getInt(AppWidgetManager.OPTION_APPWIDGET_MIN_WIDTH)
newOptions.getInt(AppWidgetManager.OPTION_APPWIDGET_MAX_WIDTH)
newOptions.getInt(AppWidgetManager.OPTION_APPWIDGET_MIN_HEIGHT)
newOptions.getInt(AppWidgetManager.OPTION_APPWIDGET_MAX_HEIGHT)
Per esempio, this sample project contiene un AppWidgetProvider
che si riversa semplicemente quei valori in una stringa e lo utilizza per aggiornare un TextView
. Il risultato è il seguente:
Grazie mille! : D –
Solo per FYI, questo esempio non funziona sul mio Galaxy S3 con il numero di build JZ054K.I9300XXXELL4. Tuttavia, funziona splendidamente sul mio Nexus 4. Grazie Mark! – Justin
@Justin: cosa significa "non funziona"? – CommonsWare