Сегодня мы разберемся в том, как создать на Android устройство свой собственный виджет (Widget). Виджет — это всем знакомый элемент рабочего стола, с помощью которого можно получать доступ к некоторым функциям какого — нибудь приложения: просматривать новости в окне виджета, прогноз погоды, обновление новостей на разных сервисах, управлять разными функциями аппарата (блокировать экран, включать радио, Интернет и многое многое другое). На этот раз мы не будем создавать чего то грандиозного и очень полезного, типа там фонарика :), а сделаем простенький виджет, который будет реализован в виде кнопки, при нажатии на которую мы, с помощью стандартного браузера, попадаем на всеми любимый сайт http://learn-android.ru. Конечно, вы сможете настроить любой желаемый вами сайт.
Создаем новые проект, выбираем Blank Activity, минимальная версия Android 2.2+. При создании виджета, первое дело — создать объект AppWidgetProviderInfo, в котором мы укажем xml файл, из которого будет заполняться вид самого виджета. Для этого, создадим в проекте папку res/xml и в ней создаем новый xml файл по имени widget.xml со следующим содержимым:
как сделать виджеты и иконки на айфоне? всё очень просто!
Теперь перейдем в файл activity_main.xml и создадим интерфейс нашего виджета, он будет состоять из кнопки Button:
Как видите, мы создали обычную кнопочку, вот она и будет нашим виджетом:
То есть, можете потом сделать вместо этой кнопочки все, что вам угодно.
Перейдем к работе с кодом в файле MainActivity.java. Он должен наследоваться от класса AppWidgetProvider, для которого существует его основной метод onUpdate (). В этом методе нам нужно обязательно определить два объекта: PendingIntent и RemoteViews. В конце их использования нужно вызвать метод updateAppWidget(). Код файла MainActivity.java:
Чтобы наш виджет успешно заработал, нужно немного магии в файле манифеста AnroidManifest.xml. Он должен выглядеть вот так:
Как вы догадались, виджет определяется в теге receiver> .
Единственное, что осталось подправить — отредактировать файл strings.xml, добавив туда используемые нами строчки:
?xml version=»1.0″ encoding=»utf-8″?> resources> string name=»app_name»>LEARN.
ANDROIDstring> string name=»action_settings»>Settingsstring> string name=»hello_world»>Hello world!/string> /resources>
Как сделать виджет в Android без программирования
Для того чтобы сделать виджет в Android вовсе не обязательно уметь программировать. Есть несколько приложений-конструкторов, которые позволяют легко нарисовать виджет и дать ему нужный функционал.
Minimalistic Text
Приложение позволяет создавать минималистичные виджеты, состоящие из текста и чисел. Несмотря на название, у таких виджетов есть весьма широкие возможности.
После установки добавьте на рабочий стол виджет Minimalistic Text требуемого размера. Откроется окно настройки виджета.
IOS 14 ОФОРМЛЕНИЕ ТЕЛЕФОНА/ КАК МЕНЯТЬ ИКОНКИ НА АЙФОНЕ, КАК ДОБАВИТЬ ВИДЖЕТЫ + ПРИЛОЖЕНИЯ
В настройках можно выбрать фон, ориентирование, шрифт, действие по клику и т.д. Также в настройках есть предопределенные макеты для наполнения:
- Время.
- Дата.
- Уровень заряда.
- Температура.
Дополнительные возможности по наполнению виджета доступны при создании своего собственного макета виджета:
- Текст.
- Свободное/занятое место на карте SD.
- Время работы системы.
- Количество переданных данных по мобильной сети и не только.
- Название сети Wi-Fi, IP адрес в сети Wi-Fi.
- Нагрузка на CPU.
- Количество занятой оперативной памяти.
Все величины можно выводить в тексте и в цифрах.
Ultimate custom widget (UCCW)
При запуске открывается окно создания виджета. Чтобы добавить на виджет объект нажмите кнопку +/- вверху. Чтобы всяким образом перемещать и редактировать его нажмите вверху на кнопку «Select Object» и выберите добавленный объект.
На виджетах можно размещать такие объекты:
- Время, дату и день недели.
- Аналоговые часы.
- Пользовательский текст.
- Уровень заряда в цифрах или же графическое отображение оного.
- Всю информацию о погоде — температуру, влажность, скорость ветра и т.д.
- Геометрические фигуры.
- Картинки.
- Количество непрочитанных писем Gmail, sms и пропущенных звонков.
- Время, когда зазвонит будильник.
Каждый элемент можно вращать, растягивать, сгибать и менять ему цвет. Разумеется, можно настроить действие по клику (Select Object->Hotspots). Поддерживается импорт и экспорт созданных виджетов.
Источник: android-manual.org
С помощью Kwin создадим виджет из консольной программы на рабочий стол KDE Plasma.
Kwin это оконный менеджер, который является частью KDE Plasma 5 по умолчанию. Вообще KDE Plasma можно сравнить с кубиками LEGO, когда ты можешь настроить каждый элемент, как собрать из кубиков. Kwin также гибкий и легко настраиваемый оконный менеджер.
Давайте посмотрим, как можно использовать некоторые возможности Kwin. Мы сейчас создадим виджет на рабочий стол из консольной программы Gotop и при этом нам не надо знать программирование и не будим пользоваться сторонним софтом, а всё будет сделано с помощью Kwin.
При этом созданный нами виджет будет интерактивный, вы сможете пользоваться как обычно в терминале.
Создаем виджет
Для создания виджета нам понадобится второй терминал, который мы будем использовать для виджета. Я буду использовать терминал Termite . Вы можете выбрать любой другой, главное требование здесь, это возможность настроить прозрачность фона на 100%. И конечно нам нужен Gotop .
Создадим скрипт
Сначала создадим скрипт для запуска нашего виджета.
Открываем любой текстовый редактор и вписываем туда такие строки:
#!/bin/bash termite -e «gotop»
Сохраняем его в домашней директории и делаем исполняемым. Для этого в терминале выполним команду:
sudo chmod u+x ~/gotop.sh
Настраиваем параметры окна
Теперь запускаем созданный нами скрипт и располагаем там, где хотим разметить наш виджет (я перенес в лево и растянул на всю высоту.
Далее нажимаем правой кнопкой мыши по заголовку и выбираем пункт Дополнительно → Настроить индивидуальные параметры окна.
Переходим добавить свойства .
Теперь внимательно по одному добавляем ниже перечисленные свойства и применяем значение.
- Расположение ⟶ применить изначально ⟶ по умолчанию
- Размер ⟶ применить изначально ⟶ по умолчанию
- Виртуальный рабочий стол (Если у вас один рабочий стол можно пропустить.) ⟶ применить изначально ⟶ все рабочие столы
- Игнорировать запрошенную геометрию ⟶ применить изначально ⟶ да
- Удерживать ниже других окон ⟶ применить изначально ⟶ да
- Не показывать в панели задач ⟶ применить изначально ⟶ да
- Скрыть заголовок и границы окна ⟶ применить изначально ⟶ да
На этом мы закончили настройку нашего виджета. Теперь закроем окно виджета и перезапустим созданный раннее нами скрипт. Виджет наш готов и должен выглядеть, как на картинке ниже.
Добавить в автозагрузку
Осталось добавить наш виджет в автозагрузку. Для этого открываем параметры системы ⟶ запуск и завершение ⟶ автозапуск . Добавляем наш скрипт как приложение. Теперь заходим в свойства ⟶ приложение и в строчке команда добавляем небольшую задержку 10 сек. для уверенности что все загрузится правильно.
sleep 10 /home/genna/gotop.sh
Всё готово. И так вы сможете создать виджет из любой консольной программы. На первой картинке поверх были добавлены часы tty-clock .
Источник: www.linuxru.ru