Как создать виджет с помощью редактора записей

    Опубликовано:image

    Считается, что основная задача вебмастера – привлечение аудитории пользователей. Но это не совсем так. Можно сколь угодно много привлекать аудиторию, но если среди неё не будет лояльной – результаты конверсии опечалят. Чтобы увеличить активность пользователей при взаимодействии с сайтом, стоит сделать для него виджет.

    О сколько виджетов нам разных…

    Если обратиться к словарю, выяснится, что виджет (widget) – небольшое графическое приложение, встраиваемое в пользовательский интерфейс браузера или сайта, и показывающее какую-либо информацию из какого-нибудь места. Именно поэтому они могут быть очень разнообразны. Когда речь заходит о создании виджета для сайта, обычно под этим подразумевается одно из трех графических приложений:

    • Обновляемый или просто визуально привлекательный элемент панели быстрых закладок;
    • Лента обновлений для размещения на главной странице поисковой системы «Яндекс»;
    • Модуль обновлений или комментариев, связанный с социальной сетью Facebook и отображаемый непосредственно на сайте.

    Что ж, разберемся, как создать каждый из этих виджетов – и зачем он вам вообще нужен.

    Создание виджета для Визуальных закладок (для движков WordPress и других)

    Сервис Визуальных закладок от «Яндекс» в последнее время становится всё более популярным. Он удобен, красив и функционален. Визуальные закладки встраиваются в браузеры на движке Chromium из соответствующего магазина, а также входят в Яндекс.Браузер прямо «из коробки».

    Визуально этот сервис являет собой табло со ссылками на сайты. Если туда добавить линк на собственную веб-страницу, в подавляющем большинстве случаев она будет выглядеть невероятно уныло – просто доменное имя на цветном фоне.

    Чтобы сделать его более привлекательным для пользователей, стоит совсем немного потрудиться. А именно – «поколдовать» с API Табло.

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

    • Формат .PNG;
    • Размер 150х60 пикселей;
    • Прозрачный фон.

    Сам виджет пишется на XML. В блокноте набирается следующий код:

    {

    “version”: “1.0”,

    “api_version”: 1.

    “layout”:

    {

    “logo”: “http://домен_вашего_сайта/адрес_файла_с_логотипом/название_файла_с_лого.png”,

    “color”: “#номер_желаемого_цвета_в_HEX”,

    “show_title”: false,

    }

    }

    Файл нужно сохранить под названием manifest.json и закинуть в корневой каталог сайта.

    Следующий этап – немного поколдовать с PHP. Ну, или HTML – в зависимости от того, на каком языке написан движок сайта. Если хедер находится в header.php, то изменения вносятся в этот файл. А если в каком-нибудь другом месте – нижеследующую строчку нужно вписать, соответственно, туда.

    А вот код для включения:

    Этот код нужно вписать в хедер – то есть между открывающим и закрывающим HTML-тегами .

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

    Виджет сайта для главной страницы Яндекс

    Многие знают, что главная страница поисковой системы Яндекс настраивается. И на ней можно разместить виджет своего сайта – чтобы пользователи могли узнавать обновления, не заходя собственно на веб-страницу. Это будет прекрасным преимуществом, так как снизит статистику отказов и повысит ваш проект в рейтинге поисковой системы.

    Создать виджет для сайта несложно. Не нужно даже HTML изучать! Для такого виджета требуется, чтобы у сайта была RSS-лента. У движка WordPress она имеется по умолчанию и располагается по следующему адресу:

    http://домен/feed

    А вот для других движков потребуется создавать её самостоятельно.

    Итак, виджет для Яндекса делается в два простых шага:

    1. Зайти на http://wdgt.yandex.ru/widgets и ткнуть на кнопку «Создать виджет»;
    2. Заполнить панели с названием виджета, описанием, картинкой и адресом RSS-ленты.

    Всё! Копировав ссылку для установки на Яндекс, можно убедить пользователей добавить виджет вашего сайта на главную страницу поисковой системы.

    А ещё этот виджет можно разместить на вашем сайте – на боковой панели, например, или в «вылетающем окошке» pop-up.

    Виджет Facebook

    Социальные сети плотно вошли в повседневную жизнь современного человека. Правда, в «наших широтах» наиболее распространены «ВК» и «Одноклассники». Однако Facebook – лучшее место для продвижения сайта, особенного предлагающего какие-либо товары или услуги.

    Почему? Причина тут проста. Именно в Facebook проще всего организовать вирусное продвижение контента среди «интеллектуальной элиты». Различные профессионалы в самых разных областях предпочитают пользоваться именно этой социальной сетью, а значит – тут проще всего создать лояльную, «думающую» аудиторию, от которой даже можно подчерпнуть какую-нибудь новую информацию.

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

    Итак, вот она, пошаговая инструкция о том, как создать виджет для сайта. Только предполагается, что у вашего сайта – или компании – уже есть соответствующая страница на Facebook, созданная человеком, у которого также есть аккаунт в Facebook:

    1. Нужно зайти от имени этого человека (авторизоваться через его логин и пароль) и нажать кнопку «Редактировать профиль» на главной странице профиля;
    2. Пролистать страницу до конца и открыть «Разработчикам»;
    3. На открывшейся странице отыскать кнопку Sharing, сопровождающуюся знаком Like, и смело в неё ткнуть;
    4. Затем требуется выбрать «Социальные плагины»;
    5. Найти Like Box;
    6. Откроется страница настройки виджета, где можно установить его размеры, цветовую схему, контент и визуальную составляющую;
    7. Затем нажатием кнопки Get Code можно получить код, выбрав язык разметки, максимально совместимый с движком сайта.

    Виджет для WordPress

    Теперь осталась пара мелочей – разместить виджет на сайте. Для самого популярного движка – WordPress – для этого придется добавить код в два различных места. Первое – футер. Туда добавляется JAVA-скрипт, определяющий функциональность виджета.

    Второе – место непосредственного размещения виджета, например, сайдбар. Туда требуется скопировать CSS-код с div-блоком, в котором расположена ссылка на скрипт.

    Для других движках, в том числе самописных или статичных – созданных на чистом HTML и отличающихся сложнейшей процедурой добавления контента – используется несколько иная методика. Однако в этих случаях проще обратиться к создателю сайта, чем пытаться самостоятельно разобраться в хитросплетениях кода.

    ! Copyright © 2016 «Design ONE»

    Похожие статьи:

    5 приемов оптимизации страницы товара в интернет-магазине10 приёмов для создания дружественного интерфейса сайтаПродвижение сайта с помощью видеоРаскрываем секреты: основные источники стабильного трафика на сайтКак правильно использовать видео в процессе поискового продвижения сайта?Онлайн конкурсы — секреты успехаПродвижение туристического сайтаПродвижение бухгалтерского сайтаПочему на ваш сайт приходят, но не покупают?Генерируем карту сайта и устраняем битые ссылки Присоединяйтесь к нам

    Copyright © 2008-2021 веб-студия «Design ONE»

    —> —>

    май21, 2016

    imageКаждый раз подключая на своих сайтах готовое решение от сервисов вроде disqus или google-аналитики, я удивляюсь простоте интеграции достаточно сложного функционала. Поставил в код 3 строчки javascript-кода — и у тебя уже развернулся блок с комментариями. Еще 2 строчки — и доступна аналитика от гугла или яндекса. Конечно, никакого волшебства при этом не происходит, те самые 3 строчки кода подтягивают с удаленного сервера весь нужный код, и по сути разворачивают небольшое веб-приложение на страницах Вашего сайта. Но как это устроено внутри и как это сделать самому? Разобраться с этим было достаточно интересно, и в итоге у меня получился небольшой виджет, который работает именно по такой простой схеме встраивания и при этом еще выполняют некоторые полезные вещи. Далее подробности.

    Зачем нужны виджеты?

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

    Для этой цели хорошо подходят iframe-ы. Это фактически отдельные html-страницы, которые встраиваются в другие страницы, при этом не имея доступа к своему «родителю». То есть в iframe можно встроить наше веб-приложение, которое будет спокойно выполнять свою работу, не вмешиваясь в основной сайт. А что именно будет делать Ваш виджет, строить систему комментариев на странице, показывать прикольную игрушку или рисовать интерактивный рекламный баннер — дело исключительно Вашего вкуса и фантазии.

    В этой статье на игрушку мы замахиваться не будем, а рассмотрим, как создать встраиваемый виджет для определения погоды. Конечно, для этого есть много различных погодных сервисов, но нам неинтересно воспользоваться готовым решением. Хочется создать простенький виджет своими руками, чтобы понять, как это вообще работает и в дальнейшем применить знания уже для каких-то полезных вещей. Заодно попутно освежим знания в нативном javascript и php.

    Что будем делать?

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

    Выглядит это проще, чем звучит — можете сразу посмотреть, что в итоге получится — Демо страницы с виджетом

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

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

    Итак, вернемся. Люди узнают погоду, возможно, даже не задумываясь о том, что фактически пользуются другим сервисом. Но все довольны и счастливы, Вы получаете посетителей на свой сайт, клиенты — нужную информацию.

    Здесь нужно небольшое уточнение: смысл виджетов в том, чтобы предоставлять уникальный, удобный, интересный функционал. Мы не даем в нашем примере какую-то особенную информацию. Погоду можно узнать где угодно. Но в познавательных целях, так как мы сами пока ничего не умеем делать, возьмем данные по погоде с сервиса Прогноз погоды в России и СНГ. Они любезно предоставляют бесплатный api, коим мы и воспользуемся.

    По технологиям

    Тоже ничего сложного. Про iframe я уже проговорился. javascript-код будем писать на vanillaJS, без единой дополнительной библиотеки. Даже без jQuery для манипуляции DOM. Наша цель еще состоит и в том, чтобы полученный виджет был максимально легковесным, и ни к чему тащить в браузер пользователя мешок дополнительных библиотек для облегчения своей работы. Поэтому вспомним, как работать с DOM и отправлять ajax-запросы на нативном javascript, и наши клиенты скажут нам спасибо. Серверная часть — пара десятков строк кода на php.

    Пишем код. Создаем базовую страницу

    Страницу, на которой будет располагаться наш будущий виджет. Напишем там пару строчек текста о том, какие мы классные в плане умения прогнозировать погоду на завтра. Это будет файл index.html — обычная html-страничка. В секции head напишем так:

    Webdevkin. Демонстрация виджета Погода      В секции body вот так:  Погода в городах России  Здесь мы расскажем Вам про погоду в разных замечательных городах нашей страны!    Подписывайтесь на наши обновления и Вы всегда будете узнавать погоду вовремя!  

    Что здесь из интересного? В файле css/style.css будем хранить стили для страницы (не для виджета!). И в нужном месте создаем iframe. В атрибуте src iframe-a ставим ссылку на виджет, в нашем случае — https://webdevkin.ru/examples/weather/widget/widget.html. Мы убираем у него границу и возможность скроллинга и задаем руками размеры виджета. Конечно, интереснее создать адаптивный, но до этого доберемся позже.

    Стили для страницы, без особых изысков:

          body {      font-family: Arial;      font-size: 14px;      }            .wrapper {      width: 960px;      margin: 0 auto;      }            .weather-widget-container {          margin: 30px 0;      }  

    Заготовка для виджета

    Виджет представляет из себя обычный html-документ. В чем отличие? Первое — мы не будем заморачиваться с лишними мета-тегами, потому как поисковикам наш виджет не нужен. И второе — и стили, и js-код мы напишем прямо в коде html-страницы. Нам это нужно, чтобы сделать загрузку виджета максимально быстрой, а уменьшение числа запросов к веб-серверу в этом нам поможет. Все, что нужно, мы загрузим одним файлом.

    В секции head у нас будет такой код:

    В секции body:

    Рассмотрим эти блоки подробнее.

    Разметка для виджета

     

    Здесь обычная форма. Сверху небольшая панель, где мы будем выводить температуру. Дальше select с выбором города. Значения value у городов взяты с сервиса meteoservice.ru, где именно, расскажу позже, в разделе, где будем непосредственно получать данные о погоде. И в конце кнопка Обновить. Верстка у нас будет на классах, айдишники проставлены тем элементам, доступ к которым нужен из кода javascript. Префикс wbd- (от webdevkin) используется для удобства, чтобы не путать разметки виджета и основной страницы.

    Стили для виджета

          html, body, body * {          margin: 0;          padding: 0;      }        .wbd-widget, .wbd-widget * {          box-sizing: border-box;          font-family: Ubuntu;      }        .wbd-widget {          border: solid 1px #333;          padding: 20px;          color: black;      }        .wbd-widget__info {          color: steelblue;          font-size: 16px;          text-align: center;      }        .wbd-widget__form-label {          display: block;          line-height: 30px;      }  

    Стили для виджета максимально просты — Вы можете написать их под себя, как угодно. Не забываем, что стили ставим прямо в html-файл виджета в раздел head — style.

    javascript-код виджета.

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

          var WeatherWidget = (function() {                    // Для выполнения ajax-запросов          var XHR = ("onload" in new XMLHttpRequest()) ? XMLHttpRequest : XDomainRequest;            // Конструктор виджета          function Widget() {              this.url = 'https://webdevkin.ru/examples/weather/widget/widget.php';              this.ui = {                  updateBtn: null,                  citySelect: null,                  temperatureSpan: null              };                this.init();          }            // Обновление данных о погоде          Widget.prototype._updateData = function(e) {              // Отправка ajax-запроса на сервер          }            // Инициализация компонентов ui          Widget.prototype._initUI = function() {              this.ui.updateBtn = document.getElementById('wbd-widget-update');              this.ui.citySelect = document.getElementById('wbd-widget-city');              this.ui.temperatureSpan = document.getElementById('wbd-widget-temperature');          }            // Привязывание событий          Widget.prototype._bindHandlers = function() {              this.ui.updateBtn.addEventListener('click', Widget.prototype._updateData.bind(this));          }            // Инициализация виджета          Widget.prototype.init = function() {              this._initUI();              this._bindHandlers();              this._updateData();          }            // Возвращаем класс виджета          return Widget;      })();        new WeatherWidget();  

    Что здесь происходит? Мы создаем модуль на основе замыкания WeatherWidget, внутри оного пишем класс Widget, в прототип которого закидываем нужные методы и возвращаем его из замыкания. Последней строкой мы создаем экземпляр виджета — new WeatherWidget();

    Переменная XHR нужна для выполнения ajax-запросов. В конструкторе инициализируем свойство url, по которому будем получать данные о погоде. Также есть объект ui, в котором хранятся 3 поля — те самые элементы DOM, к которым нам нужен доступ из js-кода. Инициализируются они позже, в методе _initUI(). Метод init() вызывает инициализацию ui, привязку событий и обновление данных с сервера (мы же хотим, чтобы при отрисовке виджета пользователь сразу видел погоду без нажатия на Обновить). В _bindHandlers привязывается метод _updateData к клику на кнопку Обновить. Это единственная «интерактивная» часть нашего виджета.

    Обратите внимание на конструкцию Widget.prototype._updateData.bind(this). Здесь явным образом привязываем контекст — нам нужно, чтобы в методе _updateData this всегда указывал на экземпляр класса Widget. Сейчас будет видно, зачем — рассмотрим код метода _updateData

    Получение данных с сервера, метод _updateData

          // Обновление данных о погоде      Widget.prototype._updateData = function(e) {          e && e.preventDefault();            var xhr = new XHR(),              city = this.ui.citySelect.value,              temperatureSpan = this.ui.temperatureSpan,              data = 'city=' + city,              resp;            xhr.open('POST', this.url, true);          xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');          xhr.send(data);            xhr.onreadystatechange = function() {              if (this.readyState != 4) return;              if (this.status != 200) {                  console.log('Request error');                  return;              }              resp = JSON.parse(this.responseText);              temperatureSpan.innerHTML = resp.temperature;          }      }  

    После этого мы создаем нужные переменные, объект для ajax-запроса, выбранный город и DOM-элемент, в который выводим значение температуры, полученной с сервера. data будет отправляться в ajax-запросе, resp — это ответ от сервера. Дальше мы открываем соединение и отправляем данные на сервер. Дожидаемся ответа 200 от сервера и выводим полученную температуру в span. Условимся, что от сервера приходит json-строка в формате {«code»: «success», «temperature»: «диапазон температур»}. Традиционно обработку ошибок оставлю на Вашу совесть, все делают по-разному. И наконец, нам осталось узнать, как получить данные о погоде с нашего сервера.

    Как узнавать погоду?

    Как я уже упоминал, мы воспользуемся сайтом meteoservice.ru. Он предоставляет возможность получить xml-файл с данными о погоде по любому гододу СНГ. Например, по этой ссылке доступна погода по Москве. С нашего сервера мы будем запрашивать этот файлик curl-ом, парсить его на нашей стороне, извлекать данные о температуре и возвращать ее обратно в браузер. Каждому городу нужно заранее поставить в соответствие нужный код (37 — Москва), узнать их можно здесь. Как работать с curl, можно узнать в этой статье на webdevkin-е

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

    Пишем php-код для получения информации о погоде

    Как брать данные, уже понятно, алгоритм прост: вытаскиваем из $_POST параметр city — выбранный город, формируем строку вида http://xml.meteoservice.ru/export/gismeteo/point/$cityId.xml. Это путь к файлу с погодой. Отправляем на него get-запрос curl-ом. Полученный ответ парсим и вытаскиваем из него нужные параметры: минимальная и максимальная температуры. Полученные числа отдаем в json-объекте обратно в браузер.

          $cityId = (int)$_POST['city'];            $url = "http://xml.meteoservice.ru/export/gismeteo/point/$cityId.xml";            $temperature = '';      if ($curl = curl_init()) {          curl_setopt($curl, CURLOPT_URL, $url);          curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);          $result = curl_exec($curl);          curl_close($curl);                    $xml = simplexml_load_string($result);          $object = $xml->REPORT->TOWN->FORECAST[0]->TEMPERATURE;          $temperature = $object['min'] . '-' . $object['max'];      }            echo json_encode(array(          'code' => 'success',          'temperature' => $temperature      ));  

    Итого

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

    Еще раз ссылки:Демо страницы с виджетомАрхив с исходниками

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

    Что еще почитать на похожую тему

    Заходите в группу в контакте — https://vk.com/webdevkinПонравилось? Поделись с другими 🙂

    AppWidget, или просто «виджет» — один из самых эффектных и удобных элементов пользовательского интерфейса в операционной системе Android, который можно добавить на рабочий стол для быстрого доступа к тем или иным функциям соответствующего приложения.

    В данной статье мы разберемся, как собственноручно создать свой виджет.

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

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

    Начнем создание виджета мы с дизайна. Благо, компания Google предоставила весьма полезные UI Guidelines для разработчиков программного обеспечения, где подробно описан процесс создания дизайна и основные принципы эргономичности. Есть также и отдельная официальная инструкция для создания виджетов, с которой можно ознакомиться по ссылке: http://developer.android.com/guide/practices/ui_guidelines/widget_design.html.

    Виджет, занимающий одну «клетку» на рабочем столе, имеет разрешение 80х100 точек, соответственно, для создания продолговатый виджет длиной в 4 клетки и высотой в одну, то нужно, соответственно, 320х100 пикселей. Такой размер мы и возьмем за основу создаваемого нами виджета.

    Теперь виджет нужно нарисовать. В принципе, виджет вполне может и не иметь никакой графической части, и отображать только текст или элементы управления, без фона и рамки, но, естественно, красивый и приятный глазу виджет просто обязан иметь качественный дизайн. Поэтому нарисуем фон. За основу возьмем фон из упомянутого выше UI Guideline. Открываем доступную нам заготовку в Photoshop или другом графическом редакторе и делаем всё, что заблагорассудится, после чего сохраняем полученное изображение в формате .png. Нужный нам формат PNG-24, с 8-битным цветом и прозрачным фоном. Вот и готова основа для нашего виджета.

    Теперь перейдем к созданию программной части. Виджет может не иметь программной части. Проще говоря, в меню добавления виджетов он будет, но в основном меню приложений – нет. Мы создадим виджет именно такого типа. Создаем новый проект, и называем его для удобства так, чтобы основной класс имел имя widget.java.

    Редактируем AndroidManifest.xml. Объявляем наш виджет:

                <?xml version=»1.0″ encoding=»utf-8″ </em>

          package=»com.example.widget»

          android:versionCode=»1″

          android:versionName=»1.0″>

                               

                                />

                                           android:resource=»@xml/widget_info» />

               

       

     

                Теперь редактируем widget.java. Тут необходимо описать, как будет реагировать виджет на различные условия. Класс AppWidgetProvider имеет такие методы:

    onUpdate – метод вызывается при создании виджета, а также по истечении заданного времени. Время задается в конфигурационном файле данного виджета. Отметим, что используется чаще всего.

    onDeleted – метод выполняется при удалении виджета с рабочего стола.

    onEnabled – метод вызывается при первой активации виджета. Но если добавляется еще один точно такой же виджет, данный метод уже не выполняется.

    onDisabled – метод выполняется тогда, когда удаляется последняя копия виджета с рабочего стола. Соответственно, данный метод является обратным onEnabled.

    onReceive – метод вызывается одновременно со всеми остальными. Зачастую не используется вообще.

    Сильно углубляться в программную часть виджета мы не будем, а потому не будем переполнять наш пример какими-либо обработчиками, а просто реализуем весь функционал посредством Layouts. Необходимо следующим образом объявить класс AppWidgetProvider:

                package com.example.widget; 

    import android.appwidget.AppWidgetProvider; 

    public class widget extends AppWidgetProvider{ 

    } 

    Далее, описываем наш виджет – это нужно для того, чтобы мобильный аппарат понимал, с чем имеет дело. Для этого нужно создать папку xml в папке res. В ней создаем файл с именем widget_info.xml. Открываем созданный файл и прописываем в него вот такой код:

                <?xml version=»1.0″ encoding=»UTF-8″ </em>

        android:minWidth=»294dp»

        android:minHeight=»72dp»

        android:updatePeriodMillis=»0″

        android:initialLayout=»@layout/widget»>

     

    Приведем краткое описание заданных параметров:

    minWidth – минимальная необходимая для работы виджета ширина.

    minHeight – минимальная необходимая для работы виджета высота.

    updatePeriodMillis – период, за который происходит обновления виджета, указывается в миллисекундах. Параметр весьма полезен, так как по истечении указанного временного промежутка срабатываем метод onUpdate объекта AppWidgetProvider.

    initialLayout – параметр указывает на ресурс с описанием интерфейса нашего виджета.

    Формула подсчета размеров виджета имеет такой вид: (количество клеток * 74) — 2.

    Приступим к описанию интерфейса создаваемого нами виджета. Здесь-то нам и пригодится созданный ранее фон. Импортируем рисунок фона в папку dwawable (или во всех три папки drawable для разных разрешений экрана). В папке layout создаем файл с именем widget.xml. Интерфейс описывается как для обычных Activity, но есть некоторые ограничения. Допустимы для использования такие элементы:

    LinearLayout

    FrameLayout

    RelativeLayout

    AnalogClock

    Button

    Chronometer

    ImageButton

    ImageView

    ProgressBar

    TextView

    Создадим LinearLayout, к которому применим созданную картинку-фон и добавим для примера AnalogClock. Сами часы в рамку не влезут, но как наглядный пример вполне сгодятся. Итак:

    <?xml version=»1.0″ encoding=»utf-8″ </em>

                android:id=»@+id/Widget»

        android:layout_width=»fill_parent»

        android:layout_height=»fill_parent»

        android:orientation=»horizontal»

        android:gravity=»center_vertical»

        android:background=»@drawable/frame»> 

        

            android:layout_width=»fill_parent»

            android:layout_height=»wrap_content»/> 

     

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

    Рассказать друзьям

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

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

    Если у вас появилось такое меню, то вам нужно выбрать вариант «Виджеты» и после этого добавить нужный виджет на экран выбрав его в списке.

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

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

    Кроме этого в некоторых версиях Андроида список виджетов можно открыть через список приложений. Для этого нужно нажать на кнопку открывающую список установленных приложений (кнопка с точками внизу экрана).

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

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

    Если виджет надоел или вы добавили не тот виджет, то вы всегда можете удалить его с рабочего стола. Для этого нужно нажать на виджет и не отпуская панелец перетащить его на кнопку «Удалить». Обычно такая кнопка находится в верху или низу рабочего стола.

    Посмотрите также:

    В процессе эксплуатации Android-устройства владельцу приходится сталкиваться с непривычными терминами и понятиями, различными утилитами, которые делают работу со смартфоном и планшетом более комфортной. Одним из важных элементов считается «виджет» – программа, которую можно размещать на рабочем столе и управлять с помощью настроек. Неудивительно, что каждого новичка интересует, как установить, настроить, а если необходимо, то и удалить виджеты с мобильного гаджета.

    Что такое виджет и зачем он нужен

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

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

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

    Как видно, widget – это программа, которая «живет» на экране смартфона или планшета, и позволяет получать актуальную информацию, а также комфортно управлять устройством.

    Как установить виджет на Андроид

    Получив общее представление о том, что же представляет собой виджет, стоит разобраться, как добавить его на рабочий стол. Процесс установки виджета может иметь некоторые отличия в зависимости от модели конкретного смартфона и используемого программного обеспечения. В Android версии 3.0 и выше он выглядит следующим образом:

    • Открыть главный экран смартфона.
    • Нажать на значок в виде крестика, расположенный внизу слева.
    • На главном экране отобразятся установленные на телефон виджеты, обои, рабочие столы, ярлыки приложений и прочие иконки.
    • Перейти в раздел «Виджеты» и отыскать нужный элемент (список можно прокручивать вправо или влево).
    • Тапнуть по нему, чтобы переместить на основной экран.

    Другой вариант предполагает добавление виджета путем выделения нужного значка простым нажатием и перетаскивания на выбранное место.

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

    • Открыть меню телефона и перейти во вкладку «Виджеты».
    • Когда появится список установленных элементов, выбрать тот, который нужно переместить на главный экран.
    • Не отпуская пальца перетащить его на нужное место.

    Как настроить виджеты на Андроид

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

    • Перейти на главный экран.
    • Отыскать нужный виджет и коснуться его пальцем.
    • Удерживать значок до тех пор, пока не появится рамка, очерчивающая границы с четырех сторон.

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

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

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

    С интерактивными элементами на Андроид-устройствах можно проводить массу различных манипуляций, а не только менять размеры и форму.

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

    Если речь идет об информерах (например, «Погода», «Новости», «Батарея», «Курс валют», «Часы» и т. п.), можно изменить количество и порядок их расположения.

    Любители виджетов могут полностью изменить тот или иной виджет, настроив программу «под себя». Для этого нужно:

    • Выбрать нужный виджет, например, Я.Погода. При выделении иконки система перебросит в контекстное меню.
    • Приступить к настройке параметров (на скриншоте видно, какие параметры можно изменить).
    • После завершения процесса нажать на клавишу «Создать виджет», расположенную внизу экрана.
    • Когда ярлык появится на рабочем столе, можно перейти в меню самой программы и произвести дополнительные настройки.

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

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

    Итак, если появилась необходимость поменять расположения виджета, нужно коснуться значка и, не отпуская пальца, перетащить его на новое место в пределах одного экрана. При желании поместить элемент на другой рабочий стол нужно выделить его значок и, удерживая, передвинуть в правый или левый конец экрана. Когда появится чистая страница, убрать палец. Выделение будет снято, а сам виджет получит новую «прописку».

    Как удалить виджет на Андроиде

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

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

    Теперь стоит отпустить палец, как виджет будет удален. Как видно, ничего сложно здесь нет. В некоторых устройствах удаление виджета происходит еще проще. Нужно выделить ярлычок и дождаться появления контекстного меню. Выбрать опцию «Удалить» и подтвердить действие.

    Где найти виджеты на Android – список лучших

    Виджеты сопровождают владельцев Android-устройств длительное время. С течением времени они совершенствуются, их численность увеличивается. Любители использовать на своем гаджете необычные фишки знают, что широкий ассортимент виджетов имеется в магазине приложений «Google Play». Поклонникам интерактивных элементов полезно будет узнать список лучших виджетов для Android, доступных прямо сейчас.

    Рейтинг Характеристика
    Amber Weather Widget Актуальное приложение, включающее около 90 виджетов на любой вкус. Оно содержит 7 прогнозов на день, погодные сводки, предупреждения о суровых условиях.
    Battery Widget Reborn Виджет батареи предоставляет сведения о состоянии Wi-Fi и Bluetooth, аккумулятора в виде графика и кругового индикатора.
    Beautiful Widgets Универсальное приложение содержит массу популярных виджетов, которые можно настраивать на свой вкус.
    Calendar Widget Приложение предлагает множество виджет-календарей и огромный выбор тем для настройки.
    Google Keep Простое и эффективное приложение для создания текстовых и голосовых заметок и делиться ими с другими пользователями.

    Оцените статью
    Рейтинг автора
    5
    Материал подготовил
    Илья Коршунов
    Наш эксперт
    Написано статей
    134
    Citilink-kabinet.ru
    Добавить комментарий