Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Calculate height of appwidget

I cannot figure out or find a solution by googling for this problem. I have an android app with an appwidget, looks like http://www.livescorewidget.eu/img/screendumps/widget.png, and I am adding the data rows on the fly. Due to different devices the height of the widget is different and therefore a different amount of space is available for my rows. I want to know how many dips or pixels my widget uses so I can calculate how many rows there is room for. Is it possible?

Even better could be if you could calculate how much height available in the layout for the rows.

Thanks

like image 949
user971769 Avatar asked May 28 '13 21:05

user971769


1 Answers

From Jelly Bean onwards you can get a Bundle object containing widget dimensions using the getAppWidgetOptions() method in AppWidgetManager:

Bundle options = appWidgetManager.getAppWidgetOptions(widgetId);

int minWidth = options.getInt(AppWidgetManager.OPTION_APPWIDGET_MIN_WIDTH);
int maxWidth = options.getInt(AppWidgetManager.OPTION_APPWIDGET_MAX_WIDTH);

int minHeight = options.getInt(AppWidgetManager.OPTION_APPWIDGET_MIN_HEIGHT);
int maxHeight = options.getInt(AppWidgetManager.OPTION_APPWIDGET_MAX_HEIGHT);

minWidth and maxHeight are the dimensions of your widget when the device is in portrait orientation, maxWidth and minHeight are the dimensions when the device is in landscape orientation. All in dp.

like image 92
Simes Avatar answered Nov 11 '22 08:11

Simes