I can't seem to find anything on the following problem with a widget I want to code: Apart from the resize-ability introduced in Android 3.1, I want my widget to be resizable in custom launchers like LauncherPro or ADWLauncher. Is there a way I can define how my widget changes its layout once it's resized? So, for example, button A is shown on the left for 2x1 but is shown on te right for 3x3. Also I want it to change its appearance/layout when due to screen rotation the widget size changes (because e.g. 3x1 has different height and width in landscape and portrait).
Any hints would be helpful. Thanks a lot! Till
As of Android 4.1 it is possible to use onAppWidgetOptionsChanged() to find out the size of a widget on resize and change the layout. So in your AppWidgetProvider:
The trouble is you need to find the min/max width and height for each screen density/size in order to know when the widget is resized a certain amount to warrant a layout change.
Your app widget doesn't change its layout once it's resized.
That is not the purpose of resizeable app widgets. Resizing is for the use of
ListView
,GridView
, etc., that will absorb the additional scrollable space.For that, you should be able to use standard orientation resource sets (e.g.,
res/layout/
andres/layout-land/
).