Как сделать виджет с компонентами, правильно подобранными по размеру колонки на домашнем экране - PullRequest
0 голосов
/ 03 июня 2018

Я пытаюсь создать виджет Android, в котором размеры компонентов соответствуют размеру иконки на главном экране, но после просмотра я просто не могу найти способ сделать это.У меня есть два телефона шириной 411 точек на дюйм, но у одного есть домашний экран с 5 столбцами, а у других 4 столбца, поэтому значки (столбцы домашнего экрана) имеют разную ширину, и у меня возникают проблемы при разработке виджета, который хорошо смотрится на обоих.

Мой виджет с изменяемыми размерами состоит из трех компонентов, два из которых всегда должны иметь размер значка домашнего экрана, а другой - любого размера или отсутствовать вообще.Виджет всегда высотой всего в одну строку.Вот как это должно выглядеть при переходе от 5 столбцов к 1:

12223

1223

123

13

3

А вот как это будет работать с 4 столбцами:

1223

123

13

3

Компоненты 1и 3 всегда должно быть шириной иконки на домашнем экране (кроме случаев, когда компонент 1 имеет нулевую ширину).Можно ли это сделать?Как?

1 Ответ

0 голосов
/ 03 июня 2018

Лучшее решение - переопределить событие onAppWidgetOptionsChanged в поставщике виджетов приложения.Затем вы можете отфильтровать соответствующие компоненты для каждого представления.Например:

@Override
public void onAppWidgetOptionsChanged(Context context, AppWidgetManager appWidgetManager, int appWidgetId, Bundle newOptions) {
    int width = newOptions.getInt(AppWidgetManager.OPTION_APPWIDGET_MIN_WIDTH);
    int height = newOptions.getInt(AppWidgetManager.OPTION_APPWIDGET_MIN_HEIGHT);

    // Perform some logic
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...