- Бегущая строка андроид студио
- Как изменить направление бегущей строки в элемент TextView
- 7 ответов
- Анимация на канве в Android
- Создание пустого проекта
- Подготовка приложения
- Первое рисование
- Первая анимация
- Примеры анимаций
- Дополнительные примеры анимаций
- Уведомления в виде бегущей строки в панели уведомлений (статус баре) на любом Android устройстве с помощью Super Status Bar [Инструкция]
- Бегущая строка на Arduino + управление со смартфона
- Предисловие
- Поиск необходимых материалов и первые шаги
- Разработка
- Блок транзисторов
- От мысли к действию, или от схемы к реализации
- Программная часть
- А где же обещанное управление со смартфона?
- Заключение
Бегущая строка андроид студио
Полный текст статьи и исходники программы доступны только зарегистрированным участникам сайта.
Прочитайте внимательно условия! В начале каждой статьи указывается, к какому курсу относится данная статья. Например, если статья из 4 курса, значит нужно заплатить за все курсы по четвёртый включительно.
Стоимость регистрации — символические 350 рублей. После регистрации у вас будет доступ ко второму курсу.
Для регистрации сначала необходимо пополнить ЮMoney(бывший Яндекс.Кошелек) 410011383280263 на указанную сумму (или Webmoney-кошелек P894989790291 (старый R390884954122) или QIWI (перевод по никнейму), а затем прислать письмо на адрес alexander.klimoff@gmail.com с указанием, на какой кошелёк вы делали оплату и реквизиты, по которым можно вас определить (не прикрепляйте к письму картинки или файлы). Учитывайте комиссию при переводах.
Не присылайте в письме мои номера кошельков — поверьте, я их знаю и без вас.
В ответном письме вы получите учётные данные для чтения статей из закрытой зоны за второй курс.
Доступ к третьему курсу обучения доступен только после оплаты второго курса и составляет 350 руб.
Доступ к четвёртому курсу обучения доступен после оплаты третьего курса и составляет 350 руб. и т.д.
При оплате сразу всех курсов одновременно (2-9) цена составит 2800 руб.
Доступ даётся как минимум на один год. Для тех, кто оплатил третий и другие курсы, сроки доступа увеличиваются.
Также возможен приём на PayPal (только для зарубежных пользователей). Обратите внимание, что в этом случае стоимость одного курса составляет 7$.
Источник
Как изменить направление бегущей строки в элемент TextView
Я хочу изменить направление marquee в TextView. По умолчанию текст перемещается справа налево, я хочу, чтобы он перемещался слева направо. Как я могу это сделать?
7 ответов
Я придумал, очень простой и легкий способ сделать это. Я сделал эффект шатра, чтобы двигаться в обоих направлениях в зависимости от нашего выбора. Итак, вот трюк:
Я использовал TextView внутри HorizontalScrollView. Я контролировал его прокрутку программным способом. У меня длина текста:
затем я использовал обработчик и вызывал его рекурсивно, пока не достигну предела прокрутки. В этом обработчике я сделал свой HorizontalScrollView для прокрутки до определенного позиция:
и вот он идет, гладкий шатер слева направо. Ура!
другой простой способ — использование HTML, а также вы можете легко изменить направление direction=»Left»
и перейти к WebView
спасибо тороб.Ир (это персидская поисковая система лучшей цены)
использовать эту библиотеку:
- просто добавьте этот файл java (MarqueeView.java) к вашему проекту Java в папке
в вашем XML-макете поместите свой TextView внутри этого MarqueeView нравится это:
функциональность, которую вы ищете, в настоящее время недоступна.
вы можете создать свой собственный текстовый вид обратного шатра из источника в TextView.Java, но есть довольно много ссылок на «шатер» в нем. Я насчитал более 50, поэтому может потребоваться некоторое время, чтобы изменить направление прокрутки.
Я думал, что некоторая двунаправленная языковая поддержка может позволить вам обмануть textview в прокрутке слева направо, но Android, похоже, не поддержка RTL языков очень хорошо.
на данный момент ваш единственный вариант-принять направление шатра или создать свой собственный класс TextView, который поддерживает вашу функциональность.
Я бы посмотрел на этот участок от линии 3810 — 3815
удаление знака минус перед mMarquee становится:
очевидно, вам нужно будет внести дополнительные изменения, но это укажет вам в правильном направлении (буквально).
Я бы предложил вам создать свой собственный компонент с этим поведением.
такой: ViewFlipper с одним TextView как дочерний (с отображаемым текстом).
вам нужно немного настроить продолжительность, чтобы она выглядела как «родная» анимация. 🙂
установите это в файле макета:
и установите это в activity:
в моем случае это перемещение текста справа налево.
для текста справа налево для каждого, чтобы использовать: попробуйте это:
Источник
Анимация на канве в Android
В статье приводятся несколько примеров рисования анимации на канве в Android Studio.
Создание пустого проекта
Подготовка приложения
Щелкаем слева на пакете вашего проекта с Java файлами правой кнопкой и создаем новый класс:
Назовем класс, например, MyView :
Сейчас наш класс представлен строками:
Заменим эти строки на следующие:
Обратите внимание на то, что самую первую строку package мы не трогаем.
Теперь перейдем в файл MainActivity.java . Там есть строчка setContentView(R.layout.activity_main); , которая связывает нашу активность с разметкой XML файла activity_main.xml . Но так как мы будем рисовать на канве, то в данном проекте мы откажемся от разметки и всё будем вручную рисовать на канве. Поэтому вышеуказанную строку мы заменим:
Меняем на следующую, которая связывает активность с созданным нами классом MyView :
Запустим наш проект:
Если видим белый экран, то всё в порядке:
Первое рисование
Теперь мы забываем про файл MainActivity.java и работаем только с файлом MyView.java .
В методе onDraw прописываем такой код:
Некоторые моменты будут отмечены красным из-за отсутствия подключения нужных классов. Решается через нажатие Alt + Enter :
После этого у нас наверху появятся подключенные файлы классов, а краснота уйдет:
Если запустим сейчас приложение, то должны увидеть желтый шарик:
А данный код нарисует закрашенный желтый кружок, прямоугольник с красной обводкой, а также прямоугольник с закругленными краями:
Класс Paint отвечает за кисточку, которая используется во всех остальных командах ( canvas.drawCircle() , canvas.drawRect(), canvas.drawRoundRect() ).
Метод canvas.drawCircle() рисует круг с заданными координатами центра и радиусом.
Метод canvas.drawRect() рисует прямоугольник, у которого указываем координаты верхнего левого и нижнего правого угла.
Метод canvas.drawRoundRect() рисует прямоугольник, у которого указываем координаты верхнего левого и нижнего правого угла, а также радиусы закругления по оси Ox и Oy .
Первая анимация
Для того, чтобы попросить Android нарисовать новый кадр, нужно в конце метода onDraw вызвать метод invalidate() :
В первой анимации будем изменять координату верхнего левого угла прямоугольника (первую строку с package не трогать):
Примеры анимаций
Заставим наш прямоугольник двигаться нормально. Для этого будем изменять координаты обоих углов прямоугольника. Ширина прямоугольника будет равна 300 px:
Но у нас прямоугольник выезжает за границы. Сделаем так, чтобы он при достижения правой границы останавливался:
Сделаем так, чтобы прямоугольник при достижения правой границы отскакивал в противоположную сторону, а потом отскакивал от левой границы:
Дополнительные примеры анимаций
Теперь пусть прямоугольник двигается по горизонтали и по вертикали. А при соударении со краями будет увеличивать толщину своих линий:
Теперь пусть при соударении со стенками случайно меняется толщина линий и их цвет:
Пример анимации с двумя прямоугольниками, которые двигаются независимо друг от друга:
И напоследок пример анимации с двумя прямоугольниками, которые двигаются синхронно. Причем внутри каждого прямоугольника есть круг, координаты которого случайно немного изменяются после каждого соударения:
В статье приводятся несколько примеров рисования анимации на канве в Android Studio.
В статье приводятся несколько примеров рисования анимации на канве в Android Studio.
Источник
Уведомления в виде бегущей строки в панели уведомлений (статус баре) на любом Android устройстве с помощью Super Status Bar [Инструкция]
Некоторые из нас еще помнят те времена, когда в операционной системе Android 5 Lollipop на наших смартфонах и планшетах в панели уведомлений (статус баре) имелась бегущая строка с текстами сообщений, и многие были бы не прочь вернуть эту возможность в текущую версию системы Google. Оказывается, сделать это достаточно просто.
Сегодня мы расскажем вам как вернуть бегущую строку уведомлений на любое устройство с операционной системой Android на борту.
Сделать это вы можете установив приложение с наименованием «Super Status Bar — Gestures, Notifications & more» от разработчика еще одного достаточно известного приложения: Bottom Quick Settings.
Это приложение также позволит вам получить возможность управления яркостью и громкостью с помощью скользящих жестов по статусбару, настроить вид панели уведомлений и прочее.
Чтобы включить бегущую строку уведомлений в статус баре, вам нужно сделать следующее:
1. Установить приложение и запустить его
2. На главном экране приложения нажать на «Старт» и в открывшемся окне включить опцию «Служба специальных возможностей».
3. При касании её вы попадете в раздел «Спец. возможности» меню настроек системы, где вам нужно выбрать Super Status Bar и включить возможность использования сервиса:
4. Вернувшись на главный экран приложения выберите опцию «Текст в строке», а в открывшемся при этом окне её настроек включите «Бегущий текст в статус баре». При этом Android запросит предоставить приложению доступ к уведомлениям. Предоставьте его. Вернувшись с меню опции «Текст в строке» убедитесь, что переключатель «Бегущий текст в статус баре» включен.
5. Отключите всплывающие уведомления. Выбрав соответствующий пункт вы увидите инструкцию как сделать это.
Если у вас есть Root, то всё просто: вам нужно нажать на соответствующую кнопку и дать доступ к правам суперпользователя приложению.
Если Root нет, вам придется получить соответствующие права, подключив свой смартфон или планшет к компьютеру с установленной на него программой ADB с помощью USB кабеля. Как это сделать читайте ниже:
Шаг 1. Прежде всего вам потребуется понадобится компьютер, ноутбук или Windows планшет * с установленными на нем программами ADB и Fastboot. Скачать самые свежие на текущий момент версии ADB и Fastboot от Google вы можете на официальном сайте по этим ссылкам:
* Если компьютера, ноутбука или Windows планшета у вас нет, то вы можете воспользоваться Android устройством, следуя инструкциям в этой статье: ADB и Fastboot без компьютера, с помощью Android смартфона или планшета [Инструкция].
2. Зайдите в меню настроек системы смартфона и включите здесь режим отладки по USB. Где его найти и как включить описано в этом материале
3. Подключите ваш смартфон к компьютеру посредством USB кабеля, а затем на компьютере открой те менеджер файлов (проводник) и перейдите в папку, в которую вы поместили ранее скачанную программу ADB. Запустите окно командной строки Windows (терминал Linux/Mac). Например, на Windows устройстве для этого введите в адресной строке Проводника команду cmd и нажмите «Enter».
В открывшемся при этом окне командной строки выполните команду:
Если вы до этого всё делали правильно, то ADB выдаст сообщение том, что ваше Android устройство подключено к компьютеру, но не авторизовано, а на экране смартфона появится запрос на разрешение отладки. Разрешите её нажав на кнопку ОК.
4. Теперь можно приступать к предоставлению необходимого для работы Super Status Bar разрешения. Для этого в окне командной строки/терминала выполните следующую команду:
adb shell pm grant com.tombayley.statusbar android.permission.WRITE_SECURE_SETTINGS
./adb shell pm grant com.tombayley.statusbar android.permission.WRITE_SECURE_SETTINGS
Отключите телефон о компьютера, перезагрузите его, а затем запустите Super Status Bar и убедитесь, что все необходимые переключатели находятся во включенном положении.
Источник
Бегущая строка на Arduino + управление со смартфона
Предисловие
Поиск необходимых материалов и первые шаги
Раньше как-то пробовал баловаться со светодиодами, точнее со светодиодной лентой, но это была простая светомузыка с использованием одного транзистора. А тут нужно же как-то и матрицу светодиодную сделать, и текст где-то хранить, и как-то его выводить. На «рассыпухе» просто так не сделать, по крайней мере с моим опытом.
Услышал, что можно делать на платформе Arduino. Раньше слышал, что есть такая крутая программируемая плата, что проект этот был стартапом, собравшим немалое количество денег, но в подробности не вдавался. А тут пришлось. Посмотрел несколько видео с примерами проектов, реализованных на Arduino, понравилось, купил.
В моей работе использовалась Arduino Uno R3, но не оригинальная, а копия. Как я почитал, особой разницы между копией и оригиналом нет. Плата Arduino имеет 14 цифровых входов/выходов, 6 аналоговых, входы внешнего питания, выходы +5 В, +3.3 В, GND. К компьютеру подключается с помощью USB. Для программирования микроконтроллера используется собственная IDE, которая распространяется бесплатно на официальном сайте Arduino.
С Arduino понятно, теперь надо решить, как сделать саму светодиодную матрицу. Изначально за основу разработки проекта была выбрана статья, в которой предлагалось использовать готовые модули со светодиодными матрицами и сдвиговыми регистрами. Схема представлена на рисунке 1. Использование готовых модулей, а именно MAX7219, значительно упростило бы разработку, так как необходимо было бы только всё правильно подключить и написать программу для корректной работы и вывода информации.
Однако возникли трудности с поиском соответственно этого модуля в нашей стране, поэтому было решено искать другой способ реализации. Да и как-то просто было бы совсем. Поэтому решил, что надо делать матрицу самому на светодиодах, благо в интернете достаточно информации, как это сделать.
Разработка
Размер матрицы был выбран 8х10. Изначально планировалось для выбора столбца матрицы светодиодов использовать сдвиговый регистр 74HC595, который идёт в наборе с Arduino, а он имеет восемь выходов. Вот каждый бы и отвечал за определённый столбец. Однако в процессе пайки случайно была испорчена ножка регистра, отвечающая за выход Q0, поэтому от него пришлось отказаться. В этой схеме регистр по сути мог бы только сократить количество выходов Arduino, используемых для управления матрицей. При его использовании задействовалось бы только три выхода, а так пришлось пожертвовать 8-ю (со 2 по 9). Благо, что их там достаточно.
Для выбора строки матрицы был использован десятичный счётчик с дешифратором К176ИЕ8. Выбор пал на эту микросхему по причине её популярности, а также, потому что она имеет 10 выходов, как раз для управления 10-ю строками матрицы. Управляется счётчик с помощью микроконтроллера Arduino через входы сброса, счёта и выхода на 5 В.
Выходы счётчика подключаются к блоку транзисторов для управления светодиодной матрицей. Подключение будет рассмотрено в блоке транзисторов.
В результате функциональная схема получилась следующего вида:
Блок транзисторов
Для управления светодиодами кроме сигнала, подаваемого на аноды со 2 по 9 портов Arduino, необходимо также подавать напряжение на катоды светодиодов. Делается это с помощью блока транзисторов.
Все катоды светодиодов каждой строки соединены между собой и подключены к коллекторам 10 транзисторов. Эмиттеры транзисторов подключены к «земле», а на базу приходят сигналы с выходов счётчика.
В этом проекте используются биполярные транзисторы npn типа 2N3904. Так как каждый транзистор подключён к своей строке матрицы, то всего в схеме их используется 10 штук. Выбор пал на этот вид транзисторов из-за их популярности, а также соответствия условиям разработанной схемы. Этот транзистор применяется в схемах с небольшим напряжение. Общий вид и УГО данного транзистора:
Теперь можно описать, как происходит загорание светодиода. С определённого порта Arduino подаётся сигнал на анод светодиода. В то же самое время на счётчика с определённого выхода подаётся сигнал на базу эмиттера. И с коллектора транзистора идёт напряжение на катоды светодиодов. Так как в матрице соединены последовательно аноды светодиодов соседних строк, а также последовательно соединены катоды светодиодов соседних столбцов, то в одно время происходит загорание нескольких светодиодов матрицы.
Важный момент! Ардуино на выходе выдаёт около 5 В, поэтому для подсоединения анодов светодиодов к Ардуино нужно использовать резисторы номиналом 220 Ом, а для подсоединения базы транзисторов к выходам счётчика – номиналом 1 КОм. Найти эти резисторы не составляет труда, тем более они идут в стартовом наборе Ардуино.
От мысли к действию, или от схемы к реализации
В результате пайки получилась следующее устройство.
Программная часть
Теперь всё это дело нужно было подключить к Ардуино. Код само-собой писался на C. Первым делом нужно проинициализировать используемы порты платы Arduino. Это делается в функции setup() следующим образом:
clock и reset – порты 11 и 10 Arduino соответственно.
Первым делом идёт указание, что порты со 2 по 9 используются в качестве выходных. Делается это в цикле с помощью метода pinMode(i, OUTPUT), где i –номер порта, OUTPUT – флаг, указывающий, что этот порт выходной.
Далее аналогичным образом инициализируются порты clock и reset. С помощью функции digitalWrite(reset, HIGH) происходит подача высокого уровня напряжения на порт reset, что тем самым делает сброс счётчика. После 5 мс задержки (delayMicroseconds(5)) на порт reset подаётся низкий уровень напряжения.
После инициализации портов нужно разработать алгоритм включения светодиодов для вывода тестовой информации и имитации их движения, т.е. сделать алгоритм бегущей строки.
Для этого была создана отдельная функция display_symbol(int loops), которая принимает в качестве аргумента значение задержки для имитации движения текста. Опытным путём было установлено, что лучше всё информация воспринимается, если значение задержки находится в промежутке от 15 до 25.
Рассмотрим внутреннюю реализацию функции display_symbol(int loops).
Сначала видно четыре вложенных цикла. Самый наружный цикл, проходит по всем элементам байтового массива, т.е. по выводимым символам. Байтовым массив и его размерность задаётся разработчиком вручную выглядит наподобие следующего:
Каждый символ разложен на 10 байт, что соответствует количеству строк, а каждый байт, как известно, состоит из 8 бит. Каждый бит отвечает за определённый светодиод на схеме. Пример разбитого на биты символа:
Например, 0 и 9 байты выглядят как B00000000, это значит, что в 1 и 10 строках светодиоды гореть не будут. Сделано это для удобного чтения информации пользователем. А вот, например, 1-й байт со значением B01000010 указывает, что во второй строке для данного символа должны загораться 2 и 7 светодиоды. Таким образом из всех этих байт выстраивается символ буквы «И».
Вот, что получилось в результате:
А где же обещанное управление со смартфона?
В принципе результатом я остался доволен, как-никак первый раз так много паял и всё сразу заработало. Но захотелось большего, и я подумал добавить управление с Android смартфона по Bluetooth. Для Arduino есть готовый модуль HC-06. Схема его подключения к Arduino выглядит следующим образом:
Подробности подключения к Arduino и соединения со смартфоном описаны в этой статье: Блютуз модуль HC-06 подключение к Arduino. Соединение с телефоном и компьютером
В соответствии с этим код был изменён. И решил добавить ускоренное пролистывание текста, инверсное зажигание светодиодов и пролистывание текста с мерцанием. Ссылки на код для Android и Arduino будут ниже. В результате получилась вот такая штука:
Заключение
Сначала, что касается разработанного курсового. Главным достоинством разработанного устройства является его универсальность. Благодаря использованию программируемой платы Arduino проект можно расширять использованием различных датчиком и написанием соответствующих прошивок. В результате кроме функционала бегущей строки можно добавить и функционал вывода состояния погоды, используя соответственно датчики температуры, влажности, атмосферного давления. Если добавить какой-нибудь датчик звука, то можно доработать схему до музыкального эквалайзера.
А общие выводы заключаются в том, что Arduino – действительно классная штука, с помощью которой в домашних условиях можно сделать множество полезных и просто крутых штук, которые раньше могли сделать люди, посвятившие электронике не один год. Тем более, что есть множество примеров различных устройств на Ардуино в Интернете в открытом доступе. Уже есть даже множество книг по Ардуино, одну из которых я точно советовал бы для рассмотрения в качестве руководства для начинающих и продвинутых разработчиков: Arduino CookBook.
Источник