Не меняется размер виджета андроид

Изменение настроек и размера виджета

В одной из предыдущих статей мы уже рассмотрели как добавлять и удалять виджеты в смартфоне HTC. Однако помимо этих действий виджеты можно настраивать, а также изменять их размер.

Меню настроек виджета

  1. На одном из рабочих столов, где находится виджет, жмем и удерживаем его.
  2. После появления вверху слева кнопки «Настроить», перетягиваем на нее виджет, чтобы кнопка стала красной (цвет может быть и другой, в зависимости от установленной в HTC темы оформления).
  3. Производим необходимые настройки.

*Зачастую меню настроек виджета аналогично такому же меню его приложения.

*Если кнопка настроек не изменяет цвет, значит она неактивна и настройки произвести нельзя.

Как изменить размер виджета

  1. Нажмите и удерживайте виджет на одном из рабочих столов, где он расположен.
  2. Отпустите палец или стилус.
  3. Вокруг виджета появится рамка. Растяните ее до нужного размера, а затем отпустите палец (стилус).

*Рамка появляется только в том случае, если изменение размера виджета возможно.

*Предельные размеры виджета ограничены программно, поэтому их можно менять только в этих рамках.

Как переместить виджет на другой рабочий стол

  1. Нажмите и удерживайте виджет.
  2. Не отпуская палец, перетяните его вправо или влево на самый край экрана, чтобы открылся новый рабочий стол.
  3. На нужном столе отпустите виджет.

*Не на все рабочие столы можно переместить виджет. Это сделать нельзя если не хватает свободного места или весь стол занят окном приложения или службы, например HTC BlinkFeed.

Источник

Как работать с виджетами экрана на Андроид. Установка и удаление виджетов

С помощью всевозможных виджетов можно сделать интерфейс удобнее и подстроить его под себя.

Несмотря на то, что эти дополнительные элементы появились еще с первых версий операционной системы Android, популярность они обрели не так давно. В связи с этим важно знать, как установить виджет на Андроид.

Типы виджетов

Виджет представляет собой небольшой элемент пользовательского интерфейса, который дополняет, расширяет и/или улучшает возможности классического домашнего экрана.

Грамотные виджеты с рабочего стола могут увеличить функциональность всего устройства и сэкономить пользователю немало времени.

Например, если установить 2-3 таких элемента на основной экран, и выбрать отображение именно нужной информации, то ту же погоду, время в нескольких часовых поясах и кнопки для управления плеером можно расположить рядом.

Намного удобней и быстрей, нежели открывать часы, погоду и музыкальное приложение через список всех программ.

Существует огромное количество виджетов. Многие из них есть в операционной системе, а другие можно скачать через предустановленные или сторонние приложения.

Благодаря открытой архитектуре Андроида любой разработчик может сделать собственный элемент интерфейса.

Чтобы можно было легко найти виджеты и проще в них ориентироваться, они были поделены на несколько типов. Список видов и их описание:

  1. Информация.

    Название говорит само за себя. Такие дополнения отображают информацию в небольшом окне, при этом она регулярно обновляется для демонстрации наиболее актуальных данных. Погодный виджет входит в число информационных. Также таковым может быть окно с отображением спортивных результатов или часовые пояса нескольких городов мира.
  2. Коллекции.

    Виджеты этого типа показывают множество одинаковых элементов в небольшом окне. Это может быть перечень последних писем на почту, колонка актуальных новостей, плитки фотографий и прочее. Чаще всего коллекцию можно не только смотреть, но и открыть (например, фото, если речь о галерее).
  3. Управление.

    Через виджеты этого типа можно включать и выключать различные функции смартфона или планшета, а также всячески взаимодействовать с ними. Чаще всего одно подобное окно содержит несколько элементов управления, так как значки занимают очень мало места. В таком элементе интерфейса может быть Блютуз, Вай-Фай, мобильный интернет, снимок экрана, беззвучный режим, смена ориентации (горизонтальная или вертикальная) и прочие действия. Данный тип виджетов не пользуется популярностью из-за того, что удобнее управлять функциями аппарата через шторку уведомлений.
  4. Сочетание типов.

    Существуют и виджеты, которые сочетают в себе 2 или 3 вида окна. Например, элемент музыкального плеера относится и к управлению, и к информации, так как можно ставить на паузу и переключаться между треками, а также смотреть название и исполнителя песни.
Читайте также:  Как удалить клеан мастер с андроида

Где находятся виджеты в Андроид

Виджеты находятся на домашнем экране и в меню с приложениями. В число этих элементов интерфейса входят не только стандартные окна, но и виджеты из установленных сторонних приложений.

Они автоматически добавляются в систему при инсталляции. Но стоит понимать, что далеко не у каждой программы есть собственный виджет.

Чтобы перейти к виджетам, нужно просто удерживать палец на домашнем экране и перейти в блок “Виджеты”. После тапа на него отобразится весь список окон.

Настройка и работа с виджетами

Работа и настройка с виджетами на Android происходит легко. Очень удобно, что все действия, связанные с ними, выполняются в одном и том же месте.

Как добавить виджет на главный экран

Чтобы пользоваться любым элементом интерфейса, сначала его необходимо добавить на дисплей.

Инструкция о том, как добавить виджет на экран Андроид:

  1. Удерживать палец на дисплее до тех пор, пока не появятся элементы взаимодействия с приложениями и самими домашним экраном.
  2. Тапнуть на значок и надпись “Виджеты”.
  3. Отобразится список мини-окон. Обычно они разделены на категории. Например, “Часы”, “Заметки”, “Погода”, “Быстрый доступ” и прочие. Важно понимать, что это не типы виджетов, а одни и те же мини-окна в разном виде. Так в категории “Погода” будет лишь один виджет, представленный тремя размерами. Здесь надо выбрать необходимый элемент.
  4. Виджет перетащится на дисплей. Надо удерживать его пальцем и переместить в желаемое место. Если в области, куда было помещено окно, находились ярлыки приложений или другие виджеты, они автоматически окажутся снизу и “толкнут” другие элементы перед ними. Стоит обращать на это внимание.

Если вас не устраивают имеющиеся виджеты функциональностью, стилем или чем-то еще, можно установить сторонние.

Как удалить виджет

У пользователей операционной системы от Google нет проблем с тем, как убрать любые элементы интерфейса с дисплея.

Пошаговая инструкция для того как удалить виджеты на Андроиде:

  1. Удерживайте палец на дисплее до тех пор, пока не появятся элементы взаимодействия с приложениями и самими домашним экраном.
  2. Напротив ярлыков приложений и имеющихся мини-окон будет изображен значок минуса или крестик. Он означает удаление элемента. Тапните на подобный символ рядом с тем виджетом, который хочется удалить.
  3. Отобразится уведомление. Подтвердите действие.

Виджет удален. Стоит понимать, что предустановленные стандартные элементы интерфейса можно лишь убрать с экрана, но не удалить их насовсем. С приложениями же наоборот, если тапнуть на значок минуса/крестика и подтвердить операцию, программа будет удалена.

Как настроить размер виджета на главном экране

Единственная настройка виджета в операционной системе Android — это возможность увеличить или уменьшить его. Поэтому, когда речь идет о том, как настроить виджеты на Андроиде, подразумевается исключительно их размер.

Увеличение или уменьшение окна можно произвести прямо с домашнего экрана. Необходимо просто выбрать нужный размер в категории. Обычно этот показатель указывается как 2×2, 2х4, 4х4, 8х8 и т.д.

Читайте также:  Спидтест для андроид проверить

Некоторые приложения позволяют менять размер собственного виджета через них. Как правило, это удобнее, чем изменение стандартным способом, потому что возможностей корректировки окна значительно больше.

Пример настройки размера виджета приложения Google:

  1. Запустить программу.
  2. Перейти на вкладку “Ещё”, которая расположена в правом нижнем углу.
  3. Тапнуть на надпись “Настроить виджет”.
  4. Откроется окно с параметрами окна для пользовательского интерфейса. Отсюда можно изменить его размер, выбрать форму и даже поменять цвет.

К сожалению, программное обеспечение Гугл скорее исключение, а не правило. Редко встречаются приложения, через которые можно настраивать виджеты.

Бонус. Самые лучшие и необходимые виджеты для телефона

Если имеющиеся виджеты не устраивают, всегда можно скачать дополнительные.

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

Chronus

Лучший часовой виджет, который выглядит стильно и минималистично. Есть больше 10 типов часов, причем как аналогового типа, так и с циферблатом. Имеются даже варианты со встроенной лентой новостей и указанием погоды. Поддерживается Google Fit.

Google Keep

Великолепное приложение от Гугл, благодаря которому в списке виджетов появляются мини-окна с заметками. Текст удобно набирать и просматривать прямо с главного экрана без раскрытия полного приложения.

Можно вывести на дисплей небольшую панель управления, через которую легко начинать запись на диктофон, открывать блокнот, рисовать и работать с изображениями.

Также есть функция полноценного виджета заметки, которая прикреплена к экрану словно стикер на холодильнике. Нужно держать под рукой список продуктов, инструкцию или важное напоминание? Google Keep с этим справится!

Month

Яркий виджет календаря, который в отличие от своих конкурентов можно сделать действительно большим. Программа предлагает широкий выбор календарей разных расцветок, форм и размеров.

Никаких проблем с тем, как установить виджет на Андроид, не возникает, а также мини-окно может синхронизироваться со стандартным приложением календаря.

Благодаря этому все события переместятся, в том числе напоминания о праздниках и важных событиях.

Источник

Полный список

— рассмотрим прочие возможности виджета: превью, изменение размера, экран блокировки, ручное обновление

В прошлых уроках мы рассмотрели все основные моменты, касающиеся виджетов. Осталось поговорить о нескольких небольших, но полезных возможностях.

Не буду создавать отдельный проект под это, покажу только фрагменты кода и скрины. Знаний, полученных в предыдущих уроках, должно хватит, чтобы понять, о чем идет речь.

Превью

Когда вы хотите добавить виджет, вы открываете экран выбора и видите там список виджетов с названиями и картинками. По умолчанию, вместо картинки идет иконка приложения. А можно поставить туда свое изображение.

Я сделаю простой виджет, показывающий время при обновлении

Мой виджет называется WidgetFeatures и в списке виджетов он выглядит так:

В качестве превью-изображения сейчас используется иконка приложения и это не очень информативно.

Поставим свою картинку. Я сделаю скрин Home-экрана с моим виджетом, затем обрежу картинку до такого состояния

закину в папку res/drawable и пропишу ее в файле метаданных виджета

Теперь виджет в списке будет выглядеть так:

И пользователь имеет примерное представление, как будет выглядеть виджет после установки.

Изменение размера

Вы можете предоставить пользователю возможность менять размеры виджета.

Для этого необходимо прописать в метаданных:

В этом случае виджет будет способен менять размер и по вертикали и по горизонтали. Если вам нужно только одно направление, оставьте только его в значении атрибута.

Вы можете растянуть виджет на сколько это позволит свободное место на экране. Но не сможете сделать его меньше, чем изначально указанные размеры minHeight и minWidth.

Для этого в API Level 14 появляются еще два атрибута для метаданных: minResizeWidth и minResizeHeight. Они как раз и ставят минимальные значения для изменения размера виджета, а атрибуты minHeight и minWidth становятся значениями по умолчанию и используются для задания первоначального размера виджета при добавлении.

Читайте также:  Андроид веб камера для планшета андроид

В API Level 16 в классе провайдера появляется метод onAppWidgetOptionsChanged. Метод срабатывает, когда вы меняете размер виджета. Он предоставляет вам Bundle с данными (тип — int, единицы измерения — dp) о новом размере. Данные можно извлечь с помощью этих ключей:

Как видно по названию переменных, система возвращает не точное значение новой ширины или высоты виджета, а диапазон с минимальным и максимальным значением. Не знаю каким образом формируются эти значения, но нам предлагается использовать их, чтобы подстраивать содержимое виджета под новые размеры.

Для примера выведу эти цифры в виджет.

Вот виджет шириной в две ячейки и высотой в одну (2х1).

А вот, что будет, если его растянуть до 3х2

Растянем до 4х3

Данные о текущем размере виджета также можно получить с помощью метода getAppWidgetOptions класса AppWidgetManager. Он вернет вам Bundle с этими же параметрами.

Экран блокировки

Атрибут widgetCategory может определять возможность размещения виджета не только в Home (home_screen), но и на экране блокировки (keyguard) .

В этом случае виджет появится в списке виджетов для экрана блокировки

И после добавления он будет виден

Чтобы программно определить где расположен виджет, используйте снова метод getAppWidgetOptions. Он вернет вам Bundle, из которого по ключу OPTION_APPWIDGET_HOST_CATEGORY можно вытащить категорию (тип int). Она может быть равна либо WIDGET_CATEGORY_HOME_SCREEN (home), либо WIDGET_CATEGORY_KEYGUARD (экран блокировки).

В метаданных вы также можете отдельно задать layout, использующийся для виджета на экране блокировки. Это атрибут android:initialKeyguardLayout. Аналогично атрибуту android:initialLayout указываете там layout-файл. Правда, у меня он почему-то не сработал и виджет с экрана блокировки использовал тот же layout, что и виджет на экране Home. Я не понял, почему.

Ручное обновление виджетов

Обычно система сама посылает broadcast-сообщения о том, что пора обновлять виджет, и минимальный порог, который она позволяет задать – это полчаса. Мы можем обойти это и назначить свое расписание. Есть несколько вариантов, как это организовать и что откуда вызывать. Я покажу один из них.

Все это делается в классе провайдера.

Далее пишем в методах onEnabled и onDisabled:

Содержимое двух этих методов почти одинаково, только первый запускает посылку broadcast сообщения каждую минуту с помощью AlarmManager, а второй отменяет это.

В методе onReceive пишем:

где updateWidget – это ваш метод, в котором прописана логика обновления виджета.

Здесь мы ловим broadcast, который каждую минуту шлет AlarmManager. Далее создаем ComponentName, соответствующий провайдеру виджета нашего приложения и, используя его, получаем список ID виджетов с помощью метода getAppWidgetIds. Далее этот список прогоняем через метод обновления.

И не забудьте поставить в метаданных атрибут updatePeriodMillis = 0, чтобы выключить для виджета рассылку broadcast-сообщений от системы.

Тем самым, мы задали свое расписание обновления. Оно включится при создании первого экземпляра виджета (или при старте системы, если есть экземпляры виджета) и выключится при удалении последнего экземпляра.

На следующем уроке:

— создаем ключи и подписываем приложение

Присоединяйтесь к нам в Telegram:

— в канале StartAndroid публикуются ссылки на новые статьи с сайта startandroid.ru и интересные материалы с хабра, medium.com и т.п.

— в чатах решаем возникающие вопросы и проблемы по различным темам: Android, Kotlin, RxJava, Dagger, Тестирование

— ну и если просто хочется поговорить с коллегами по разработке, то есть чат Флудильня

— новый чат Performance для обсуждения проблем производительности и для ваших пожеланий по содержанию курса по этой теме

Источник

Оцените статью