Шла середина мая, поисковики взрываются от запросов связанных с так называемыми fidget spinner’ами, Youtube завален роликами о DIY спинерах, мир погряз в хайпе по этим крутящимся конструкциям.
Где-то в это же время в мою голову пришла шальная мысль, которая сместила все другие в сторону и воссев на пьедестал изрекла — «Ты должен сделать POV fidget spinner!».
И началась эта история с простого запроса в гугле и последующего удивления, оказывается такого девайса никто еще не сделал, это меня очень взбодрило и мотивировало, страсть как хотелось сделать электронный девайс до которого еще не дотянулись руки китайских инженеров.
Сохраняя в себе этот запал я взял карандаш и бумагу. Первым делом я ограничил себя размерами корпуса которые давали мне определенную свободу в выборе компонентов, но при этом сильно не выходил бы за рамки обычного спинера. Дальше было самое интересное — оценка оптимального функционала и подбор комплектации.
POV дисплей явно нужно делать на светодиодах, а так как корпус у нас небольшой, типоразмер 0603 показался оптимальным. Количество светодиодов в линейке выбрал исходя из просмотренных в Youtube видео о различных POV вертушках.
Питать все это добро хотелось от Li-po аккумулятора с возможностью зарядки и благо с прошлого проекта у меня остались ненужные микросхемы MCP73831, да и аккумулятор на 3.7В и 250мАч также валялся без дела, так что этот вопрос я закрыл быстро.
Немного сложнее обстояло дело с выбором контроллера и датчика для определения полного оборота спинера (в один момент я даже захотел повозиться и сделать все на акселерометре, но понял что это перебор). В голове были 2 мысли — датчик Холла или оптический датчик. Но бегло взглянув на даташиты датчиков Холла с удивлением обнаружил, что из того что я имел на руках и того что продавал наш «сельский» магазин радиодеталей нет датчика который бы работал от напряжения 3-3.
Внося в схему модель новых инфракрасных датчиков я вдруг задумался над одним нетривиальным вопросом: «А что я собственно выводить то буду?». Десятиминутный брэйншторм выдал необходимый минимум функционала для такого девайса. Вариант с заготовленными надписями и символами особо не обдумывался (так как был самым банальным), также сразу пришел вариант выводить количество оборотов спинера, ну и финальной идеей было сделать отображение времени.
Микросхема часов реального времени DS3231 показалась подходящей — корпус планарный, невысокий, время показывает, от 3-3.7В работает ну и ладно, заказал, ждем.
Контроллер решил выбрать из позиции лучше больше чем меньше и поставил ATmega8, благо АЦП на борту есть, i2c для DS3231 реализуется, ножек порядочно, памяти тоже. Компоненты выбраны, схему сделать трудов не возникло.
Одновременно с вычерчиванием схемы я судорожно мечтал о том что стану первым кто сделает подобную модернизацию спинеров и смогу как говорят «хайпануть немножечко» и возможно даже обзаведусь сотней другой человек которые заинтересуются моим изобретением.
Схема то простая, а вот решение делать плату самому немного усложнило процесс разводки, всетаки плату размером 30мм х 20мм я делал впервые и ЛУТ технология давала свои ограничения.
Параллельно с разводкой я сделал модель простого корпуса с нужными отверстиями для разъема micro-USB, переключателя питания, пары оптических датчиков и кнопки для минимальной настройки.
Зачем два оптических датчика? Обдумав концепцию, я решил заложить на будущее возможность автоматически определять где сейчас находится рука держащего спинер человека и выводить надпись в свободном от рук пространстве (в то время положение датчика снизу меня почему то не смутило, хотя понятно что логичней было его расположить сверху, ну да ладно, прототип все-таки).
Примерно в тоже время как я сделал плату, я осознал что хочу переделать большую часть всей схемы, в голове витала идея с использованием RGB светодиодов и вариант с Bluetooth модулем, через который можно было бы посылать данные на спинер, но желание сделать уже хоть что-то выводящее символы и цифры возобладало и я решил оставить эти идеи на будущие варианты спинеров.
После того как я запаял элементы в плату, своим старым советским паяльником, тут же вспомнил что пришло время заказывать корпус. Отсутствие личного 3д принтера всегда меня угнетало, но жаба внутри, которая смотрела на ценник в 30-50 тысяч за более менее средний принтер душила меня сильней и мы сошлись с ней на том что я могу позволить себе купить только новый паяльник.
Электроника готова, теперь самое интересное — прошивка контроллера. Изрядно извратившись я запаял на весу старый добрый гигантский
Сразу скажу — я убил 2 чипа, причиной этому была невнимательность (просто забыл что у меня не фабричная плата с металлизированными переходными отверстиями и из за этой оплошности питание на чипы приходило неправильно и прошивка фьюз битов вылетала с ошибкой).
Пока шла новая партия чипов я успел немного переделать разводку и сделал новый вариант платы, чистый и красивый, у прошлого от перепайки микросхем удалилась часть дорожек. Также написал тестовую прошивку, которая должна была выводить линию в статичном положении, а заодно доработал пришедший корпус напильником и скальпелем.
Прошло несколько дней и я получил новые чипы, с блаженством запаял первый чип, утрамбовал все в корпус и прошив тестовую прошивку аккуратно предал этому спинеру угловой скорости, первый раз в жизни яркая зеленая полоска светящихся светодиодов не сходившая со своего места вызвала детское счастье в моей голове.
Через пару минут, я успокоился и перестал «подпинывать» спинер дабы продливать это чувство. Несколько часов спустя была написана прошивка которая выводила уже строку из 8-ми цифр, по моим расчетам надпись должна была занимать 120-130 градусов, так и оказалось, но визуально это было не очень красиво и я уменьшил угол до приятного глазу.
Далее решено было узнать с какой всетаки скоростью крутится мое несбалансированное чудо.
Крутится слабенько, но нужно учесть что на этом видео спинер прилично разбалансирован, габаритный груз в виде тумблера и BH-10 дает о себе знать, хотя я и постарался расположить их оптимально для центра тяжести.
Следующим шагом захотелось посмотреть время на этом устройстве и я прильнул к даташиту на DS3231, за пару вечеров написал прошивку которая позволяла задавать и выводить время. Задоно решил проверить влезет ли все что я сотворил в корпус.
Прекрасно влезло и даже плотно закрылось крышкой, ну крутилось конечно все также разбалансированно, но для первого образца это меня устроило, я даже задумался о том чтобы сделать корпус с другим типоразмером подшипника, благодаря чему появилось бы дополнительное место для уплотнения свинцовой дробью или чем то подобным.
И вот я такой довольный, думая что через несколько дней доделаю функционал моего детища и представлю его на суд общественности как первый в мире опытный образец POV-спинера, решил ввести в строку поиска это словосочетание еще раз.
Это было 28 июня, впервые обычный поисковой запрос в гугле вогнал меня в уныние. Первым в поисковой выдаче было видео на Youtube, где какой-то американский парень уже вовсю крутит в руке спинер, который также как и мой выводит ему обороты в минуту и всякие приветственные надписи, а самое главное это видео было закачано на ютуб 25 июня.
Заголовок спойлераНе могу не удивляться как все-таки в один достаточно короткий промежуток времени (особенно если учитывать что хайп по спинерам идет уже не первый месяц) несколько человек подумали об одной идее и начали ее судорожно осуществлять, это забавно.
Качество изготовления у американских коллег намного лучше, это конечно подкосило мою мотивацию по дальнейшей доработке этого девайса. Мысль о том что «все равно уже сделали красивее и функциональней» плавно сместила прошлую полную уверенности и азарта мысль. Да и пара других «первых в мире» устройств, которые были поставлены на паузу ради данного спинера, пока еще не успели создать забугорные коллеги по цеху, а значит есть шанс что хотябы их я сделаю первым.
П.С. Извините за качество видео и фото, на руках только китайский телефон.
Специально для mozgochiny.ru
В сегодняшней статья, будет рассказано и показано, как сделать спиннер своими руками. Данная поделка выполнена из обрезков грецкого ореха, подшипников от скейтборда и киринита (что-то на подобии микарты на бумажной основе).
Примечание автора: Микарта — многослойный материал, что состоит из композита волокон, ткани, бумаги, стекловолокна, углепластика и других материалов в термосетном пластике.
Для начала нарежем грецкий орех и киринит на ломтики ленточной пилой. Затем зашлифуем стороны заготовок для обеспечения хорошей сцепки деталей.
Толщина заготовок грецкого ореха 5 мм, киринита — 3 мм.
Сделаем «сандвич» из грецкого ореха и киринита, склеив кусочки супер-клеем.
После сжатия кусочков, уберём выступивший клей бумажным полотенцем, чтобы струбцины не приклеились к дереву!
Нарисуем шаблон на миллиметровке и переведём его на склеенную заготовку.
Чтобы просверлить отверстия, воспользуемся перьевым сверлом, диаметр которого чуть меньше диаметра подшипников.
В моём случае, сверло выломало фрагмент дерева, на более позднем этапе убрал образовавшейся дефект.
Вернёмся к ленточной пиле и обрежем заготовку по очерченной форме.
Отверстия на данном этапе немного меньше диаметра подшипников, поэтому их нужно увеличить до 22 мм.
Вместо того, чтобы использовать клей для фиксации подшипников, воспользуемся трением. Во время подгонки нужно постоянно проверять размеры отверстий с помощью штангенциркуля.
Когда диаметр будет близок к 22 мм, переключаемся на наждачную бумагу.
Приступаем к шлифовке. Постепенно увеличиваем зернистость (в моём случае я остановился на наждачной бумаге с зернистостью 12000 единиц).
Это позволило сделать поверхность спиннера гладкой на ощупь и убрать следы механической обработки.
Для очистки воспользуемся медицинским спиртом, после чего нанесём масло жожоба на деревянные части.
Немного WD40 и центральный подшипник будет крутиться долго и весело… 🙂
youtube.com/embed/6r98DvE59XA?feature=oembed» frameborder=»0″ allowfullscreen=»»/>Вот и все, спасибо большое за просмотр!
( Специально для МозгоЧинов #DIY-Wooden-Fidget-Spinner-That-Glows-in-the-Dark/» target=»_blank» rel=»noopener noreferrer»>)
Крутая команда для майнкрафт, которая добавит не менее крутые спиннеры! КАК СДЕЛАТЬ СПИННЕР В MINECRAFT! КАК СДЕЛАТЬ СПИННЕР В МАЙНКРАФТЕ БЕЗ МОДОВ? ? . Обзор команд для командных блоков. Забавная фигня, если вы хотите использовать данную штуку даже в вашей любимой игре, то обязательно устанавливайте данный мод, берите в руки спиннер и снимайте стресс. КАК СДЕЛАТЬ СПИННЕР В МАЙНКРАФТЕ БЕЗ МОДОВ? ? Работающий СПИННЕР В МАЙНКРАФТЕ! НУБ ПРОТИВ СПИННЕР ИЗ ЛАКИ БЛОКОВ В МАЙНКРАФТ! КАК СДЕЛАТЬ ГИРОСКУТЕР В МАЙНКРАФТ БЕЗ МОДОВ И БЕЗ КОМАНДНЫХ БЛОКОВ? Железный человек в майнкрафте без модов как стать? КАК СДЕЛАТЬ СПИННЕР В МАЙНКРАФТЕ? ? ? Скачать мод на спиннеры в. КАК СДЕЛАТЬ СПИННЕР В МАЙНКРАФТЕ БЕЗ МОДОВ? ? Как сделать спиннер в майнкрафт без модов 1 11. МАЙНКРАФТ МОЖЕТ БЫТЬ СТРАШНЫМ! ? Как стать тором в майнкрафт без модов? КАК СДЕЛАТЬ СПИННЕ. Команда на Спиннер без модов. Как сделать куклу и планшет в Майнкрафте без модов и команд. КАК СДЕЛАТЬ СПИННЕР В МАЙНКРАФТЕ БЕЗ МОДОВ? ? Как Сделать Работающий Спиннер в Майнкрафт Без Командных Блоков и Без Модов. FIDGET SPINNER MINECRAFT МОД. КАК СДЕЛАТЬ ФИДЖЕТ СПИННЕР В МАЙНКРАФТЕ FIDGET SPINNER MINECRAFT DN Я в VK Моя группа ВК Мой T Скачать мод на фиджет спиннер. РИСУЮ 3D РУЧКОЙ 3D PEN SPINNER MINECRAFT. Волна спиннеров обхватила весь мир, а еще вчера о этой штучке с 90х никто и не слышал, Майнкрафт такая тенденция не смогла обойти стороной и зарубежный автор перенес спиннеры в Майнкрафт разными цветами и с дополнительной фишкой полета на спиннере, посмотреть как это.КАК СДЕЛАТЬ ФИДЖЕТ СПИННЕР В МАЙНКРАФТЕ. КАК СДЕЛАТЬ СПИННЕР В МАЙНКРАФТЕ БЕЗ МОДОВ? ? FIDGET SPINNERНУБ ПРОТИВ СПИННЕР ИЗ ЛАКИ БЛОКОВ В МАЙНКРАФТ! КАК ПОЛУЧИТЬ КОМАНДНЫЙ БЛОК И БАРЬЕР В MINECRAFT? Больше развлекательный мод под названием F S, который добавляет весьма популярную игрушку в наше время, это некая антистресс игрушка. КАК СДЕЛАТЬ СПИННЕР В МАЙНКРАФТЕ БЕЗ МОДОВ? ? Как сделать Как сделать спиннер в майнкрафт без модов 1 11. КАК СДЕЛАТЬ СПИННЕР В MINECRAFT! Искать КАК СДЕЛАТЬ СПИННЕР В МАЙНКРАФТЕ БЕЗ МОДОВ? Как Сделать Работающий Спиннер в Майнкрафт Без Командных Блоков и Без Модов. Как сделать спиннер в майнкрафте без модов? Как сделать спиннер в майнкрафт пе! НУБ ЗАТРОЛЛЕН В МАЙНКРАФТ! Подпишись на канал. КАК СДЕЛАТЬ СПИННЕР В МАЙНКРАФТЕ БЕЗ МОДОВ? ? КАК СДЕЛАТЬ СПИННЕР В МАЙНКРАФТЕ БЕЗ МОДОВ? ? Теперь вы сможете использовать е в майнкрафте, выбрать нужную вам расцветку. Команда на спиннеры работает на версии и выше и используется в командном блоке. КАК СДЕЛАТЬ СПИННЕР В МАЙНКРАФТЕ БЕЗ МОДОВ? ? DIY 3D СПИННЕР МАЙНКРАФТ! КАК СДЕЛАТЬ СПИННЕР В МАЙНКРАФТЕ БЕЗ МОДОВ? ? КАК СДЕЛАТЬ СПИННЕР В МАЙНКРАФТЕ БЕЗ МОДОВ? ? OMFG I L Y 2. КАК СДЕЛАТЬ СПИННЕР В МАЙНКРАФТЕ БЕЗ МОДОВ? ? ТОП 3 способа сделать Спиннер в M PE Без сторонних програм. Я УБИЛ 100 НУБОВ СПИННЕРОМ АНТИСТРЕССОМ В МАЙНКРАФТ КАК СДЕЛАТЬ ТРОЛЛИНГ СПИННЕР В MINECRAFT. КАК СДЕЛАТЬ ФИДЖЕТ СПИННЕР В МАЙНКРАФТЕ FIDGET SPINNER MINECRAFT ролик от Диана Найкова, на Ютуб видео нашего сайта. Человек муравей в майнкрафт без модов как стать? КАК СДЕЛАТЬ СПИННЕР В МАЙНКРАФТЕ? ? ? Крафтится спиннер проще простого и не требует много ресурсов, достаточно будет взять 4 слитка железа и одну шерсть цвет спиннера зависит от цвета шерсти. Как сделать спиннер в Майнкрафте без модов и команд. 25ZAQ2 и жми на колокольчик Если тебе понравилось видео, то ставь МУЗЫКА ИЗ ВИДЕО 1. КАК СДЕЛАТЬ СПИННЕР В МАЙНКРАФТЕ БЕЗ МОДОВ? КАК СДЕЛАТЬ СПИННЕР В МАЙНКРАФТЕ БЕЗ МОДОВ? ? F S в MC БЕЗ модов! Мод добавит разноцветные спиннеры в Майнкрафт с возможностью раскрутить его до такой степени, что вы сможете взлететь. Как получить лаки блоки в без модов? КАК СДЕЛАТЬ СПИННЕР НУБУ! Так как на мом канале ты увидишь разные видео по майнкрафт пе, таким рубрикам как майнкрафт пе без модов, майнкрафт моды, майнкрафт пе в реальной жизни на версиях,
С недавних времен можно встретить человека, который крутит в руках похожий на небольшой пропеллер странный предмет. Это устройство называется спиннер (от английского spin, что означает крутить). Сегодня спиннеры увидишь и у скучающих детей во дворе, и у людей в дорогих костюмах с продвинутыми гаджетами.
Всего один щелчок пальца требуется, чтобы заставить конструкцию вращаться. В большинстве случаев центральную часть удерживают между большим и средним пальцами, а указательным «заводят» устройство. Начинать вращать спиннер можно и другой рукой и вообще любым способом и в любую сторону. Иногда их крутят на столе или на ладони.Подшипник — небольшое металлическое кольцо с находящимися внутри него металлическими или керамическими шариками. В простых моделях используются металлические подшипники, которые не требуют сложного ухода и обслуживания. Для бесшумных моделей с минимальной вибрацией отлично подходят керамические подшипники, содержащие внутри крошечные керамические шарики.Качество подшипников определяет рейтинг АВЕС, оно влияет на быстроту и продолжительность вращения. В устройстве действует только центральный подшипник, внешние выполняют декоративную функцию или служат для улучшения баланса. Главным показателем качества спиннера энтузиасты считают время вращения после раскручивания. Они используют подшипники самого высокого качества и тщательно выверяют баланс, чтобы максимально продлить вращение устройства. Если повезет, начальный спиннер ценой 5 долларов может вращаться около 2 минут. Дорогие высококачественные модели вращаются десятки минут . Вращение сопровождается вибрацией, уровень которой зависит от подшипников и материала изделия.
Интересный метод придумал опытный мастер, в коротком рассказе о том, как сделать красивый классический виджет спиннер методом пайки.
К автору этого видео-урока обратился внук: «дед сделай спиннер!» Немножечко оторопел. Так внучок, а что это за зверь такой? Давай в интернете посмотрим. А у внучка в кулачке были зажаты 4 подшипника, но не эти. Для образца положил, а старенькие дедушка в шкатулке наковырял.
Решили сделать вертушку, посмотрели, как творят другие самодельщики. Используют супер клей, стяжку из пластиковых хомутов. Или молекулярный клей, который пистолетиком тепловым выделяется, расплавляется и выдавливается. Но это не понравилось, интереснее сделать спиннер методом пайки, но к сожалению, не догадались снять процесс. Поэтому на словах.
На каждом подшипнике сбоку на камне зашлифованы площадки для лучшего прилегания друг к другу. Площадки залудил свинцово-оловянным припоем, поменял паяльную кислоту (хлористый цинк).
Получилось.
Из 4 подшипников выбран самый живой, наиболее подвижный. Они с одной стороны закрыты металлическими крышечками, а с другой открыты. В данном случае подшипники 60027. Они крутятся, лучше на резинке, так интереснее.
Когда смотрели в интернете, там они представлены, как антистрессовые игрушки. Для взрослых, чтобы нервы успокоить, и для детишек. Популярная штучка. Спаяем низкотемпературным припоем в качестве площадок, удобно держать.
«А ну внучок, давай свою руку, садись на место! Будешь крутить виджет и показывать. Убираем резинку, бери в одну руку и показывай, как вращается». Зажимаем между указательным и большим пальцем, в данном случае еще средним и одним толчком вращать. Максимально до 50 секунд. Если подшипники высокоскоростные с керамическими шариками, то результат лучше. Старые подшипники с люфтами использовали.
Это видео для того, что если кто-то пожелает себе подобное сделать, чтоб не использовать клей. Можно использовать метод пайки.
Gennadijable
В жизни современного человека с завидным постоянством появляются полезные и новомодные приспособления, одним из них стал хенд спиннер (handspinner) вот продажа спиннеров . Несмотря на то, что эта игрушка появилась на рынках сравнительно недавно – с 2015 года, она получила всеобщую популярность. Но есть люди, которые до сих пор не знают, что такое спиннер.
Спиннер – что это? Изделие представляет собой конструкцию плоской формы с отверстиями, предназначенными для пальцев. Состоит из корпуса на подшипниках и специальной заглушки.
Спиннер имеет центральный и внешние подшипники. Внешние выступают противовесом и служат украшением изделия. Центральный является самым важным, его качество и внешний вид влияют на время вращения и количество оборотов изделия.
Приобретая спиннер, стоит помнить, что центральный подшипник, выполненный из керамики, будет вращаться дольше, чем металлический. Заглушка выполнена из двух деталей, которые вставляются в отверстие в центре устройства, и после нажатия защелкиваются.
Несмотря на простоту изделия, его дизайн очень разнообразен. Спиннеры отличаются по цвету, размеру и материалу, из которого выполнены. На функциональность их работы влияет: вес, размер окантовки (чем меньше, тем лучше) и количество вырезанных отверстий в самой игрушке (чем их больше, тем быстрее будут совершаться вращения).
Увидев в продаже новомодную игрушку, многие задаются вопросом: для чего нужен спиннер? В действительности, это не просто игрушка, это прибор, борющийся со стрессом и умственной перегрузкой. Человек сам не замечает, как часто использует различные предметы при разговоре, совершая бессмысленные манипуляции, лишь бы чем занять руки.
С появление спиннера для рук все изменилось – он развивает мелкую моторику, является антистрессом, помогая отвлечься и расслабиться. Развивает правое полушарие мозга, отвечающее за творческие способности, способствует улучшению интуиции, памяти и концентрации внимания. А завораживающее и захватывающее восприятие игрушки будет интересно не только детям, но и взрослым.
Ручной спиннер прост в управлении. Чтобы привести его в действие, достаточно взяться двумя пальцами – большим и указательным, за центральный подшипник и ударить по боковой стороне вертушки средним пальцем или другой рукой. Крылья вертушки начинают совершать вращательные движения, а при наличии навыков можно с легкостью перебрасывать фингер спиннер с пальца на палец.
Внешний вид хенд спиннеров разнообразен. Изготавливаются они различными способами, что оказывает значительное влияние на цену. Самыми популярными являются изделия, выполненные с помощью 3D принтера. Их качество посредственное, однако, цена невысокая, а вес, вид и функционал мало отличаются от настоящих пластиковых спиннеров. Отличительной чертой таких изделий является ребристая поверхность.
Пластиковые hand spinner изготавливаются в различных расцветках и размерах. Их стоимость не слишком высока, а качество отличное. Изделие имеет привлекательный вид, гладкую и приятную поверхность, легко вращается.
Для любителей качественных изделий стоит обратить внимание на металлические спиннеры. Они отличного качества, престижнее, тяжелее, крутятся дольше, однако и цена их выше. Для почитателей эксклюзива будут интересны модели деревянные или премиум класса, выполненные в единственном экземпляре под заказ.
Fidget Spinner – это очередной потрясающий клон от известного разработчика Ketchapp.
Многие хотят купить себе данное устройство, которое может очень сильно затянуть, так как работает до жути просто и интересно. Именно поэтому многие подростки хотят себе купить качественный спиннер, но такой стоит чертовски дорого. Скачать Fidget Spinner на андроид бесплатно может с легкостью заменить его, так как обычно в этой компании работают очень хорошие специалисты в сфере разработки игр. Причем они смогли сделать вполне себе хорошую физическую составляющую, а это было очень трудно сделать с точки зрения программирования. Да и тем более графика также может всех порадовать. Кстати, по началу будет очень странно играть, даже немного непривычно. Но есть для новичков возможность прохождения обучения, которое очень интерактивное и интересное.
Скачать Fidget Spinner на андроид бесплатно после обучения можно будет начинать вертеть сие чудо инженерной мысли. Чем быстрее вы будете это делать, тем больше монеток получите. В свою очередь на них вы можете купить новые спиннеры, которые будут опережать предыдущих по многим параметрам. Однако, делать это будет не так легко, так как все они стоят достаточно дорого. В плюсы стоит отметить поддержку очень интересного стиля графики, которого пока что нет в других подобных игровых приложений со схожей тематикой. А вот в минусы можно отнести полное отсутствие русского языка.
Фиджет спиннер – решение специфических проблем или же просто модный тренд?
В этом году в молодежной культуре появился новый тренд – сенсорные игрушки спиннеры. И, возможно, новое увлечение детей и подростков так бы и осталось на уровне очередного мейнстрима, на смену которому рано или поздно придут другие изобретения, гаджеты или игры с дополненной реальностью, вроде нашумевшей не так давно «ПокемонГоу», если бы не один неоднозначный и важный момент… Спиннеры рекомендованы детям при аутизме, синдроме дефицита внимания и гиперактивности, тревожном синдроме!
В силу того, что сенсорная игрушка сравнительно недавно появилась на мировом рынке, судить о ее эффективности непросто. Специалисты в этом вопросе разделились на два противоположных лагеря: одни рекомендуют, другие предостерегают… Поэтому родителям особенных детей проблематично сделать объективные выводы об эффективности применения спиннеров.
А что говорят исследования?
Как таковых официальных исследований на тему влияния спиннеров на поведение детей с аутизмом и СДВГ не проводилось. На сегодняшний день имеются лишь данные исследований, согласно которым дети, страдающие синдромом дефицита внимания и гиперактивностью, проще справляются с текущими задачами, если есть возможность занять руки, делать что-либо параллельно с основной задачей. Специальное же влияние спиннеров не изучалось. Из чего сразу мы можем сделать вывод, что фиджет спиннер не разрабатывался непосредственно под подобные задачи – в качестве эффективной терапии при аутизме и СДВГ. Однако, из этого совершенно не следует, что игрушка не может оказывать положительный эффект на состояние ребенка с поведенческими и другими проблемами.
Необходимо отметить, что к этому моменту многие образовательные учреждения США обратили внимание на повальное увлечение своих воспитанников спиннерами. Большинство школ посчитало, что спиннер очень сильно отвлекает ребенка от образовательного процесса, поскольку задействует сразу несколько сенсорных каналов, и в половине штатов было принято решение запретить детям доставать фиджет на уроках. При этом выяснилось, что у многих детей успела выработаться зависимость от игрушки: они очень агрессивно реагировали на запрет. Собственно, это один из немногих информационных поводов, которые выставляют фиджет спиннер в негативном свете… Но, как известно, все хорошо в меру!
Почему считается, что спиннер помогает при аутизме?
Около тридцати лет назад гражданка США, чья дочь страдала миастенией, придумала игрушку, несколько похожую на спиннер. И даже зарегистрировала патент, срок которого истек лет десять назад. Но маркетологи грамотно «переиграли» данный факт, мастерски превратив миастению в аутизм, и приписав изобретение спиннера этой даме. Хотя, в общем и целом данная история не противоречит назначению фиджета.
Сегодня немало интернет-ресурсов, посвященных проблемам СДВГ, РАС, и практически каждый из них так или иначе поднимал тему спиннеров. При желании вы без труда найдете множество отзывов, преимущественно от родителей детей с поведенческими расстройствами, аутизмом, которые в красках описывают пользу фиджета. Однако, подавляющее большинство подобных отзывов – не что иное, как маркетинговое продвижение новомодной игрушки, которое, к сожалению, эксплуатирует одну из самых актуальных проблем – психическое здоровье ребенка!
Безусловно, в сети можно найти и реальные отзывы родителей, детям которых сенсорная игрушка помогла. А при желании можно отыскать и очень негативные отзывы о спиннере: у некачественных изделий в процессе вращения отваливались мелкие детали, которые попадали в дыхательные пути детей, в пищеварительный тракт. К тому же доподлинно известно, что часть изделий произведена из некачественных комплектующих с высоким содержанием свинца, что при длительном контакте провоцировало развитие аллергий и бронхиальной астмы.
Отдельная часть психологов склонна принимать многочисленные сообщения о чудодейственности спиннеров за чистую монету, рекомендуя своим пациентам и их родителям такое простое и «эффективное» дополнение к основной терапии. В профессиональных изданиях Европы и США публиковались статьи в поддержку спинеров, которые способны бороться и с паническими атаками, и повышать концентрацию внимания, когда речь идет о проблемах, связанных с восприятием.
Более консервативные специалисты скептически относятся к фиджетам. Их позиция основана на беспокойстве по поводу того, что в ряде случаев родители детей, страдающих, например, СДВГ, будут обесценивать те методы борьбы, которые реально работают, положившись исключительно на недоказанную эффективность сенсорной игрушки.
Стоит ли покупать особенному ребенку спиннер?
Если вы ищите ответ на вопрос: «Не навредит ли моему ребенку игра со спиннером?», ответ – нет, если игрушка произведена из качественных экологичных комплектующих!
Необходимо понимать, что подобные решения ни в коем случае не заменяют занятия с детским нейропсихологом, психотерапию, медикаментозную терапию. Спиннеры могут являться лишь дополнительной составляющей лечения, но никогда не заменят его.
Фиджет действительно помогает потратить лишнюю энергию, справиться с тревожностью и возбуждением, что особенно ценно, когда речь идет о проблемах гиперактивного ребенка или детей, страдающих тревожным расстройством.
Для детей, чьей проблемой является аутизм, спиннер совершенно непротивопоказан: таких особенных малышей монотонные, однотипные, повторяющиеся и предсказуемые действия очень успокаивают.
Игра со спиннером, если вашему ребенку этот девайс пришелся по душе, может стать веселым и увлекательным занятием. Его антистрессовый эффект очевиден! К тому же сенсорная игрушка развивает мелкую моторику рук, что очень важно в процессе развития любого ребенка. Ну а различные трюки со спиннером, которым посвящено огромное количество роликов в интернете, вполне способны занять надолго всю семью, подарив массу положительных эмоций.
Как видите, у сенсорной игрушки довольно мощный терапевтический потенциал. Особенно значимы достижения вашего ребенка в непосредственном игровом процессе: ничто так не повышает самооценку маленького человека, как способность делать что-то лучше взрослых!
© 2017 www.neuro-msk.ru
Спиннер из подшипников
Основные правила изготовления актуальной вертушки: центральный подшипник; радиально расположенные лопасти-утяжелители.
При определенном мастерстве можно сделать спиннер на основе четырех подшипников. Купите их в спортивном магазине, где продаются расходные части роликов.
Подготовьте центр игрушки: выньте ножом пыльники по бокам и поместите деталь на 3-5 минут в растворитель. Чтобы избавиться от смазки, почистите подшипник зубной щеткой и тщательно вытрите тряпкой.
Суперклеем присоедините лопасти к подготовленному центру. Если постараетесь, вам удастся сделать спиннер своими руками даже лучше, чем магазинный! Креативно оформите его, например, обклейте цветным шнуром.
Как сделать спиннер без подшипника
Очень просто смастерить спиннер в домашних условиях из четырех пластиковых бутылочных крышек одинакового размера. Будущие лопасти гаджета будут служить противовесами, поэтому наполните их пластилином и залейте из клея-пистолета.
По центру четвертой крышки раскаленной спицей проделайте отверстие. Эта деталь – середина самодельного спиннера. К ней приклейте три лопасти. После этого выполните ось спиннера.
Сделайте два отрезка стержня для клеевого пистолета, каждый по сантиметру длиной. На половинку зубочистки насадите центр спиннера, с двух сторон на ось наденьте отрезки клеевых стержней. Раскрасьте гаджет акриловыми красками.
Можно сделать центром спиннера подшипник, который прикрепляется к заранее вырезанной из фанеры форме. Отличные лопасти получатся из проклеенных между собой монеток.
В интернете можно найти инструкции, как сделать спиннер из картона, с помощью техники оригами. Для создания коллекции уникальных гаджетов проявите фантазию и попробуйте изобрести новые способы изготовления игрушки-вертушки.
Интересные факты о спиннере
Недавно мы выпустили новый продукт LiveCode for FM, который позволяет использовать LiveCode для расширения решений FileMaker. Во время работы над этим продуктом у нас была возможность добавить некоторые полезные новые функции в LiveCode, которые теперь доступны в предварительных версиях LiveCode 9 для разработчиков.
Новый виджет «прядильщик» — одна из этих новых функций, включенная в предварительную версию 2 для разработчиков LiveCode 9 и позже.Он очень полезен в качестве индикатора активности, показывая пользователям, что ваше приложение занято выполнением задачи, выполнение которой займет некоторое время.
Его очень легко использовать: перетащите его из палитры инструментов в свою стопку; когда он виден, он вращается. Вы можете использовать свойство visible виджета для управления тем, когда он отображается пользователю. Обычно имеет смысл отображать его перед другим контентом, отображаемым на экране.
Вот несколько советов, которые могут помочь вам эффективно использовать спиннер.
Виджет прядильщика будет обновляться (переместиться на следующую метку) только тогда, когда движок будет выполнять обработку событий, например, во время ожидания с сообщением . Есть несколько команд и функций, которые неявно ждут с сообщениями внутри, например, блок url .
Однако, если вы выполняете медленные вычисления, такие как синтаксический анализ текстового файла или загрузка данных из базы данных, вы можете добавить wait 0 с оператором messages каждый раз, когда вы делаете прогресс, чтобы счетчик продолжал вращаться, и ваши пользователи не думают, что ваше приложение зависло.
Вы можете скрыть или «затемнить» пользовательский интерфейс вашего приложения, пока оно занято. Например, ваше приложение может использовать карточку «заставку», которая отображает логотип и виджет счетчика при загрузке своих ресурсов и подготовке к запуску. Это помогает, предоставляя пользователю дополнительные визуальные подсказки о том, что пользовательский интерфейс приложения еще не готов к ответу.
Иногда у вас может быть очень медленный процесс, от которого вы можете безопасно отказаться.Может быть полезно добавить кнопку «Отмена». Предположим, у вас есть стек с cancelButton и spinnerWidget. Вы можете создать отменяемый процесс, используя локальную переменную сценария, чтобы сохранить, должен ли процесс продолжаться:
- В скрипте cancelButton
на mouseUp
отправить "cancelOperation"
конец mouseUp
- В стеке скрипта
местный sCancelled
команда doOperation
установите для видимого элемента управления spinnerWidget значение true
установите для видимого элемента управления cancelButton значение true
положить false в sCancelled
повторить для каждого элемента для обработки
- (сделайте что-нибудь с предметом)
- позволить виджету спиннера вращаться, и
- для обработки нажатий кнопок отмены
ждать 0 с сообщениями
если sCancelled, то
выход повторить
конец, если
конец повтор
если не отменено, то
- (обновите пользовательский интерфейс, чтобы отразить результаты)
конец, если
установите для видимого элемента управления "spinnerWidget" значение false
установите для видимого элемента управления cancelButton значение false
конец doOperation
Иногда вашему приложению может потребоваться некоторая фоновая обработка, например синхронизация его состояния с сервером, без необходимости блокировать пользовательский интерфейс. Вы можете использовать виджет счетчика в периферийной части пользовательского интерфейса, например в строке состояния, чтобы обеспечить ненавязчивую индикацию того, что это происходит.
Например, приложение электронной почты может регулярно проверять наличие новых сообщений, но это не обязательно должно препятствовать пользователю читать или писать электронные письма.
У меня проблема с виджетом счетчика. Это мой layout.xml:
Xml version = "1.0 "encoding =" utf-8 "?>
<Спиннер
android: id = "@ + id / spinner1"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: layout_alignTop = "@ + id / numInvResCon"
android: layout_marginLeft = "214dp"
android: layout_toRightOf = "@ + id / numInvResCon"
android: entry = "@ array / Equipos" />
<Спиннер
android: id = "@ + id / spinner2"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: layout_alignLeft = "@ + id / spinner1"
android: layout_below = "@ + id / spinner1"
android: entry = "@ array / Equipos" />
Я пытался поставить: android: cacheColorHint = "# 00000000"
, но это не работает, поэтому я создал стиль в стилях. xml:
%MINIFYHTMLb60196abfc2ce36c3632acd4cf2425bf44% # 000000
Но вертушка остается невидимой, и я не знаю … Может кто-нибудь мне помочь? Пишу если поможет:
<использует-sdk
android: minSdkVersion = "8"
android: targetSdkVersion = "21" />
Спасибо.
Это снимок экрана для затмения: http://postimg.org/image/72utxtfin/
Spinner — это виджет, который позволяет быстро выбрать одно значение из набора. В состоянии по умолчанию счетчик показывает текущее выбранное значение. При прикосновении к счетчику отображается раскрывающееся меню со всеми другими доступными значения, из которых пользователь может выбрать новое.
Пример:
из кивы.базовый импорт runTouchApp из kivy.uix.spinner import Spinner spinner = Спиннер ( Показано # значение по умолчанию text = 'Дом', # доступных значений values = ('Дом', 'Работа', 'Другое', 'Пользовательский'), # просто для позиционирования в нашем примере size_hint = (Нет, Нет), размер = (100, 44), pos_hint = {'center_x': .5, 'center_y': .5}) def show_selected_value (счетчик, текст): print ('счетчик', счетчик, 'имеет текст', текст) spinner.bind (текст = show_selected_value) runTouchApp (счетчик)
КВ Пример:
FloatLayout: Спиннер: size_hint: Нет, Нет размер: 100, 44 pos_hint: {'center': (.5, .5)} текст: "Домой" значения: Home, Work, Other, Custom. on_text: print ("У счетчика {} есть текст {}". format (self, self.text))
kivy.uix.spinner.
Spinner
( ** kwargs ) [источник] Базы: kivy.
uix.button.Button
Класс Spinner, дополнительную информацию см. В документации модуля.
dropdown_cls
Класс, используемый для отображения раскрывающегося списка при нажатии Spinner.
dropdown_cls
— это ObjectProperty
и
по умолчанию — DropDown
.
Изменено в версии 1.8.0: Если установлено в строку, Factory
будет использоваться для
разрешить имя класса.
is_open
По умолчанию счетчик не открыт. Установите значение True, чтобы открыть его.
is_open
— это BooleanProperty
и
по умолчанию — False.
option_cls
Класс, используемый для отображения параметров в отображаемом раскрывающемся списке под спиннером.Свойство text класса будет использоваться для представляют ценность.
Для класса опции требуется:
Текстовое свойство , используемое для отображения значения.
событие on_release , используемое для запуска опции при нажатии / касании.
a size_hint_y
из Нет.
высота
должна быть установлена.
option_cls
— это ObjectProperty
и
по умолчанию — SpinnerOption
.
Изменено в версии 1.8.0: Если вы установите строку, Factory
будет использоваться для
разрешить класс.
sync_height
Каждый элемент в раскрывающемся списке использует высоту по умолчанию / заданную пользователем. Установите значение True, чтобы значение высоты счетчика распространялось на каждый раскрывающийся список. элемент списка.
sync_height
— это BooleanProperty
и
по умолчанию — False.
text_autoupdate
Указывает, должен ли прядильщик текст
автоматически
обновляется первым значением свойства values .Установка его в True приведет к тому, что счетчик обновит свой текст
свойство каждый раз, когда изменяются значения attr: .
text_autoupdate
— это BooleanProperty
и
по умолчанию — False.
значений
Значения, которые могут быть выбраны пользователем. Это должен быть список строк.
значений
— это ListProperty
, по умолчанию
[].
кивы.uix.spinner.
SpinnerOption
( ** kwargs ) [источник] Базы: kivy.uix.button.Button
Специальная кнопка, используемая в раскрывающемся списке Spinner
. По умолчанию,
это просто Button
с size_hint_y равным None
и высотой 48dp
.
Таким образом, дизайн для выбора не выглядел как Android Spinner по умолчанию, поскольку в нем был заголовок, включенный при переходе в режим раскрывающегося списка.Можно ли реализовать с помощью виджета Spinner? Посмотрим.
Хорошо, давайте начнем с реализации макета:
item_country.xml
xmlns: android = "http://schemas.android.com/apk/res/android"
xmlns: tools = "http://schemas.android.com/tools"
android: layout_width = "match_parent"
android: layout_height = "@ dimen / country_item_height"
android: paddingLeft = "@ dimen / general_margin"
android: paddingRight = " @ dimen / general_margin ">
android: id =" @ + id / ivCountry "
android: layout_width =" 32dp "
android: layout_height =" 32dp "
android: layout_alignParentLeft =" true "
android: layout_centerVertical = "true"
инструменты: src = "@ drawable / ic_united_kingdom" />
android: id = "@ + id / tvCountry"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android : layout_marginLeft = "@ dimen / general_margin"
android: layout_toRightOf = "@ id / ivCountry"
android: layout_centerVertica l = "true"
android: textColor = "@ color / incharge_dark_grey"
android: textSize = "18sp"
tools: text = "United Kingdom" />
android: layout_width = "16dp"
android: layout_height = "16dp"
android: layout_alignParentRight = "true"
android: layout_centerVertical = "true"
android: src = "@ drawable / arrow_down_grey"
/>
И добавьте виджет Spinner :
android: id = "@ + id / sCountry"
android: layout_width = "match_parent"
android: layout_height = "wrap_content"
...
android: background = "@ drawable / blue_outline"
android: popupBackground = "@ drawable / blue_outline_white_background"
android: spinnerMode = "dropdown"
инструменты: listitem = "@ layout / item_country"
/>
blue_outline.xml
Таким образом, мы только что создали виджет Spinner в нашем пользовательском интерфейсе.Благодаря инструментам : listitem = "@ layout / item_country"
мы можем увидеть в Android Studio Designer, как будет выглядеть Spinner, и правильно настроить отступы / поля 🙂
С свойством android: background
мы можем добавить синий контур когда Spinner находится в выбранном состоянии и с android: popupBackground
фон раскрывающегося списка — пока просто.
Магия добавления заголовка будет сделана в нашем CountryAdapter
class:
CountryAdapter.kt
class CountryAdapter (
context: Context
): ArrayAdapter(context, 0, OperatedCountry.values ()) {val layoutInflater: LayoutInflater = LayoutInflater.from (context) переопределить fun getView (position: Int, convertView: View ?, parent: ViewGroup): Просмотр {
val view: View
if (convertView == null) {
view = layoutInflater.inflate (R.layout.item_country, parent, false)
} else {
view = convertView
} getItem (position) ?.let {country ->
setItemForCountry (view, country)} вернуть вид переопределения fun getDropDownView (position: Int, convertView: View ?, parent: ViewGroup): View {
val view: View if (position == 0) {
view = layoutInflater.inflate (R.layout.header_country, parent, false)
view.setOnClickListener {
val root = parent.rootView
root.dispatchKeyEvent (KeyEvent (KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_BACKvent) (root) KeyEvent.ACTION_UP, KeyEvent.KEYCODE_BACK))
}
} else {
view = layoutInflater.inflate (R.layout.item_country_dropdown, parent, false) getItem (position) ?. let {country ->
setItemForCountry (view, country)
}
} return view
} переопределить удовольствие getItem (позиция: Int): OperatedCountry? {
if (position == 0) {
return null
} return super.getItem (position - 1)
} override fun getCount () = super.getCount () + 1 override fun isEnabled (position: Int) = position! = 0 приватное развлечение setItemForCountry (view: View, country: OperatedCountry) {
val tvCountry = view.findViewById(R.id.tvCountry)
val ivCountry = view.findViewById(R.id.ivCountry) val countryName = Locale ("", country.countryCode) .displayCountry
tvCountry.text = ivCountry.text = ivCountry.text = ivCountry.text = ivCountry.text = ivCountry 9029 .setBackgroundResource (country.icon)
}
И перечисление для поддерживаемых стран реализовано следующим образом:
OperatedCountry.kt
enum class OperatedCountry (val countryCode: String, val icon: Int) {
UNITED_KINGDOM («UK», Р.drawable.ic_united_kingdom),
NETHERLANDS («NL», R.drawable.ic_net Netherlands),
GERMANY («DE», R.drawable.ic_germany),
SWEDEN («SE», R.drawable.ic_sweden),
}
Есть несколько частей, которые необходимо объяснить…
Во-первых, давайте посмотрим, что метод getView ()
будет создавать пользовательский интерфейс, когда Spinner находится в состоянии ожидания, а getDropDownView ()
будет создавать определенные элементы при открытии раскрывающегося списка Spinner. Это место, где нам нужно ожидать, что позиция == 0
создаст заголовок с «Выбор опции» .
К сожалению, не существует общедоступного метода Spinner для программного закрытия раскрывающегося списка . Итак, как мы могли закрыть его, когда щелкают по элементу заголовка? Есть несколько приемов для решения этой проблемы, и вот один из них:
val root = parent.rootView
root.dispatchKeyEvent (KeyEvent (KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_BACK))
root.dispatchKeyEvent (KeyEvent (KeyEvent.ACTION) , KeyEvent.KEYCODE_BACK))
, поэтому мы делаем вид, будто была нажата кнопка BACK .Да, хакерский…
Также, чтобы предотвратить выбор для представления заголовка и не запускать его поведение Spinner, мы переопределяем метод isEnabled
, чтобы в этом случае возвращать false
.
Так что нам удалось каким-то образом воплотить задуманный дизайн. Но разве это окончательное решение? Нам пришлось использовать как хак с закрывающимся выпадающим списком и сделать код грязным. Кроме того, что, если дизайнер внезапно передумает и захочет применить некоторую анимацию, например поворот стрелки? Во встроенном всплывающем окне появилась анимация, которая может прервать эту анимацию.
Технически android: popupAnimationStyle
применим к стилю Spinner, но он из SDK 24 , довольно высокий, не так ли?
Может быть другое решение?
Если мы посмотрим на исходный код Spinner для Android, мы увидим, что под ним PopupWindow
используется для рендеринга раскрывающегося списка. Реализуемые классы являются частными, поэтому мы не можем их использовать. Но сколько работы нужно сделать, чтобы сделать это самому? Давай попробуем!
Давайте заменим виджет Spinner любым другим, что может включать item_country.xml
Теперь, в части setOnClickListener {...}
(попытка переопределить OnClickListener на Spinner приведет к исключению RuntimeException).
vCountry.setOnClickListener {
popupWindow? .Dismiss () if (popupWindow == null) {
provideCountryPopupWindow (it)
} popupWindow !!. ShowAsDropDown (it, 0, -itindow.height)
} частное развлечение provideCountry (it) : View) {
popupWindow = PopupWindow (it.width, ViewGroup.LayoutParams.WRAP_CONTENT)
.apply {
val backgroundDrawable = activity !!.getDrawable (
R.drawable.blue_outline_white_background)
.apply {}
setBackgroundDrawable (backgroundDrawable)
isOutsideTouchable = true val listView = layoutInflater.inflate (
R.layap.layout.layout_country3_dropdown список
countryAdapter
listView.setOnItemClickListener {_, _, position, _ ->
val selectedCountry = countryAdapter.getItem (position) !!
viewModel.setLegalCountry (selectedCountry) popupWindow ?.dismiss ()
}
contentView = listView
}
}
где
layout_country_dropdown.xml
xmlns: android = "http://schemas.android.com/apk/res/android "
xmlns: tools =" http://schemas.android.com/tools "
android: id =" @ + id / lvCountries "
android: layout_width =" match_parent "
android: layout_height =" match_parent "
android: divider = "@ null"
tools: listheader = "@ layout / header_country" />
Итак, здесь мы сами обрабатываем выпадающий список.У нас есть полный контроль над его пользовательским интерфейсом! Я выбрал ListView, может быть что угодно! Все отрисовано layout_country_dropdown.xml
.
Обратите внимание, что вы можете использовать тот же самый CountryAdapter
, но переименовать метод getDropDownView ()
в getView ()
и избавиться от существующего getView ()
.
Таким образом … Для перехода не потребовалось много работы. 8) Это то, что мы все любим. Это решение кажется более чистым, без грязных хаков — просто добавьте popupWindow ?.
при нажатии заголовка. Как это выглядит? dismiss ()
А как насчет управления анимацией? Это просто. Мы могли бы установить пользовательскую анимацию для PopupWindow
или просто отключить ее с помощью параметра:
PopupWindow.animationStyle = 0 // или R.style.YourCountryPopupAnimation
, затем в CountryAdapter
при создании элемента заголовка добавить что-то вроде:
view.findViewById(R.id.ivArrow)
.animate ()
.rotation (180f)
.setDuration (200)
.start ()
И результат:
PopupWindow — анимацияПопробуйте сами написать анимацию вращения в раскрывающемся списке;)
Ура!
пакет com.java2blog.spinnerdropdownexampleapp;
импорт android.support.v7.app.AppCompatActivity;
импорт android.os.Bundle;
импорт android.view.View;
импорт android.widget.AdapterView;
импорт android.widget.ArrayAdapter;
импорт android.widget.Spinner;
импорт android.widget.Toast;
импорт android.widget.AdapterView.OnItemSelectedListener;
импорт java.util.ArrayList;
импорт java.util.List;
открытый класс MainActivity расширяет AppCompatActivity, реализует OnItemSelectedListener {
@Override
public void onCreate (Bundle savedInstanceState) {
super.onCreate (savedInstanceState);
setContentView (R.layout.activity_main);
// получить ссылку на Spinner
Spinner spinner = (Spinner) findViewById (R.id.spinner);
// Слушатель щелчка Spinner
spinner.setOnItemSelectedListener (this);
// Выпадающие элементы Spinner
Список стран = new ArrayList ();
страны.добавить («Индия»);
country.add («Непал»);
country.add («Китай»);
country. add («Бутан»);
// Создание адаптера массива для счетчика
ArrayAdapter dataAdapter = new ArrayAdapter (this, android.R.layout.simple_spinner_item, countries);
// Стиль выпадающего списка будет списком с переключателем
dataAdapter.setDropDownViewResource (android.R.layout.select_dialog_singlechoice);
// подключение адаптера данных к счетчику
spinner.setAdapter (dataAdapter);
}
@Override
public void onItemSelected (родительский адаптерView, представление представления, позиция int, длинный идентификатор) {
// получение выбранного элемента
String item = parent.getItemAtPosition (position) .toString () ;
// Отображение выбранного элемента счетчика в тосте
Тост.makeText (parent.getContext (), «Выбранная страна:» + элемент, Toast.LENGTH_LONG) .show ();
}
public void onNothingSelected (AdapterView arg0) {
}
}
import gi gi.require_version ("Gtk", "3.0") из gi.repository импортировать Gtk, GLib класс SpinnerWindow (Gtk.Window): def __init __ (self, * args, ** kwargs): Gtk.Окно .__ init __ (self, title = "Демонстрация счетчика") self.set_border_width (10) mainBox = Gtk.Box (ориентация = Gtk.Orientation.VERTICAL, интервал = 6) self.add (mainBox) self.spinner = Gtk.Spinner () mainBox.pack_start (self.spinner, True, True, 0) self.label = Gtk.Label () mainBox.pack_start (self.label, True, True, 0) self.entry = Gtk.Entry () self.entry.set_text ("10") mainBox.pack_start (self.entry, True, True, 0) self.buttonStart = Gtk.Кнопка (label = "Запустить таймер") self.buttonStart.connect ("нажал", self.on_buttonStart_clicked) mainBox.pack_start (self.buttonStart, True, True, 0) self.buttonStop = Gtk.Button (label = "Остановить таймер") self.buttonStop.set_sensitive (Ложь) self.buttonStop.connect ("нажал", self.on_buttonStop_clicked) mainBox.pack_start (self.buttonStop, True, True, 0) self.timeout_id = Нет self.connect ("уничтожить", self.on_SpinnerWindow_destroy) def on_buttonStart_clicked (self, widget, * args): "" "Обрабатывает событие" clicked "для buttonStart."" " self.start_timer () def on_buttonStop_clicked (self, widget, * args): "" "Обрабатывает" нажатое "событие buttonStop." "" self.stop_timer ("Остановлен кнопкой") def on_SpinnerWindow_destroy (self, widget, * args): "" "Обрабатывает событие уничтожения главного окна." "" # убедитесь, что функция тайм-аута остановлена если self.timeout_id: GLib.source_remove (self.timeout_id) self.timeout_id = Нет Gtk.main_quit () def on_timeout (self, * args, ** kwargs): "" "Функция тайм-аута.Верните True, чтобы остановить это. Это не точный таймер, поскольку следующий тайм-аут пересчитывается по текущему времени. "" " self.counter - = 1 если self.counter <= 0: self.stop_timer («Истекло время ожидания») вернуть ложь self.label.set_label ("Осталось:" + str (int (self.counter / 4))) вернуть True def start_timer (сам): "" "Запустите таймер." "" self.buttonStart.set_sensitive (Ложь) self.buttonStop.set_sensitive (Истина) # тайм-аут будет проверяться каждые 250 миллисекунд (1/4 секунды) себя.счетчик = 4 * интервал (self.entry.get_text ()) self.label.set_label ("Осталось:" + str (int (self.counter / 4))) self.spinner.start () self.timeout_id = GLib.timeout_add (250, self.on_timeout, нет) def stop_timer (self, alabeltext): "" "Остановить таймер." "" если self.timeout_id: GLib.source_remove (self.
timeout_id) self.timeout_id = Нет self.spinner.stop () self.buttonStart.set_sensitive (Истина) self.buttonStop.set_sensitive (Ложь) себя.label.set_label (текстовый ярлык) win = SpinnerWindow () win.show_all () Gtk.main ()
пакет com.elevenzon.toolbar; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; import android.view.View; import android.view.Menu; import android.view.MenuItem; import android.widget.AdapterView; import android.widget.ArrayAdapter; импортировать android.widget.Spinner; import android.widget.Toast; открытый класс MainActivity расширяет AppCompatActivity { Панель инструментов панели инструментов; Спиннер-вертушка; @Override protected void onCreate (Bundle savedInstanceState) { super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); панель инструментов = (Панель инструментов) findViewById (R.id.toolbar); setSupportActionBar (панель инструментов); toolbar.setNavigationIcon (R.drawable.ic_arrow_back_black_24dp); getSupportActionBar ().setDisplayShowTitleEnabled (ложь); spinner = (Spinner) findViewById (R.id.spinner); ArrayAdapteradapter = new ArrayAdapter (getApplicationContext (), R.layout.simple_spinner_item, getResources (). GetStringArray (android.R.array.emailAddressTypes)); spinner.setAdapter (адаптер); toolbar.setNavigationOnClickListener (новый View.OnClickListener () { @Override public void onClick (View v) { финиш(); } }); } @Override public boolean onCreateOptionsMenu (меню) { // Раздуть меню; это добавляет элементы на панель действий, если она присутствует.getMenuInflater ().