4
A
回答
3
我得到了它,文件說:你需要在你的AppWidgetProvider覆蓋onAppWidgetOptionsChanged,所以您將收到廣播時控件大小。
public class YourWidgetProvider extends AppWidgetProvider {
...
@Override
public void onAppWidgetOptionsChanged (Context context,
AppWidgetManager appWidgetManager,
int appWidgetId, Bundle newOptions) {
// Here you can update your widget view
}
...
}
4
要添加到Artem的答案,您可以通過執行以下操作來獲得新的選項。
public class YourWidgetProvider extends AppWidgetProvider {
@Override
public void onAppWidgetOptionsChanged (Context context, AppWidgetManager appWidgetManager, int appWidgetId, Bundle newOptions) {
// This is how you get your changes.
int minWidth = newOptions.getInt(AppWidgetManager.OPTION_APPWIDGET_MIN_WIDTH)
int maxWidth = newOptions.getInt(AppWidgetManager.OPTION_APPWIDGET_MAX_WIDTH)
int minHeight = newOptions.getInt(AppWidgetManager.OPTION_APPWIDGET_MIN_HEIGHT)
int maxHeight = newOptions.getInt(AppWidgetManager.OPTION_APPWIDGET_MAX_HEIGHT)
}
}
然後不幸的是,Android上的東西從來都不是那麼容易。 TouchWiz(三星銀河系)不會打這個電話,但我們可以播放它們。因此,在你的AppWidgetProvider類做到以下幾點:
@Override
public void onReceive(Context context, Intent intent) {
// Handle TouchWiz
if(intent.getAction().contentEquals("com.sec.android.widgetapp.APPWIDGET_RESIZE")) {
handleTouchWiz(context, intent);
}
}
private void handleTouchWiz(Context context, Intent intent) {
AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context);
int appWidgetId = intent.getIntExtra("widgetId", 0);
int widgetSpanX = intent.getIntExtra("widgetspanx", 0);
int widgetSpanY = intent.getIntExtra("widgetspany", 0);
if(appWidgetId > 0 && widgetSpanX > 0 && widgetSpanY > 0) {
Bundle newOptions = new Bundle();
// We have to convert these numbers for future use
newOptions.putInt(AppWidgetManager.OPTION_APPWIDGET_MIN_HEIGHT, widgetSpanY * 74);
newOptions.putInt(AppWidgetManager.OPTION_APPWIDGET_MIN_WIDTH, widgetSpanX * 74);
onAppWidgetOptionsChanged(context, appWidgetManager, appWidgetId, newOptions);
}
}
您可能需要改變,如果你正在使用MAX_HEIGHT或MAX_WIDTH我不是你如何處理包。
相關問題
- 1. Qt佈局,在部件大小更改後調整到最小值
- 2. 調整QFileDialog佈局中的按鈕窗口小部件大小
- 3. 調整佈局中的小部件
- 4. ExtJS 4 - 調整大小後調整大小後調整大小的內部組件不會調整大小resizeHandles
- 5. 在調整大小後獲取Gridster小部件的新大小
- 6. 調整大小後Canvas小部件的大小有誤
- 7. 自動調整IPython小部件佈局
- 8. 可調整大小的小部件
- 9. 小部件的相互調整大小
- 10. 調整大小的jQueryUI小部件
- 11. 可調整大小的小部件
- 12. 調整wxPython小部件大小
- 13. Python tkinter小部件在更改時調整大小
- 14. Qt5和QML:小部件調整大小後如何更新QQuickPaintedItem?
- 15. 更改AnalogClock小部件的大小?
- 16. 加載的圖像調整大小後調整大小布局
- 17. 如何從小部件菜單中選擇小部件後調整其大小
- 18. 調整YUI撥號小部件的大小頁面調整大小
- 19. dojo小部件佈局
- 20. wordpress小部件佈局
- 21. Android:小部件和佈局
- 22. Qt佈局 - 在調整大小時保持小部件縱橫比
- 23. 調整窗口大小時調整Tkinter Listbox小部件
- 24. tkinter gui微調小部件佈局
- 25. Qt QPropertyAnimation爲佈局中的小部件 - 小部件搖晃
- 26. 小部件TextView的調整
- 27. 散焦調整大小 - 陰謀部分陰影小部件
- 28. 調整wxpython小部件的大小調整事件的函數在調整大小時多次調用
- 29. Flex組件 - 當調整大小時,調整所有內部組件的大小
- 30. 更新小部件與多個佈局