Масштабируемый TextView

Паттерн Material Design рекомендует использовать текст динамического типа вместо маленького размера текста или обрезания текста большого размера. Android упрощает работу с текстом, реализовывая изменения размера TextView. Android 8.0 API 26 позволяет создавать TextView так, чтобы его размер увеличивался или уменьшался с целью заполнения разметки на основе характеристик и границ TextView. Это позволяет упростить оптимизацию размера… Читать далее »

Подписываем приложение заново

Существует способ удалить подпись из готового APK файла и добавить в него другую. Для этого нужно выполнить следующие шаги: 1. Удаляем старую подпись Способ для Windows: У APK, из которого нужно удалить подпись, меняем расширение с *.apk на *.zip. Открываем полученный файл любым архиватором и удаляем папку META-INF. Закрываем архиватор. Меняем расширение обратно с *.zip… Читать далее »

Используем иконки из библиотеки Material Design

Во время разработки приложений часто возникает ситуация, когда нужно найти какие-либо изображения, например, иконки для кнопок. Для этого случая у Google есть своя библиотека Material Design Icons, содержащая различные иконки на все случаи жизни. Хотя вы можете искать нужные иконки в исходнике на GitHub, Android Studio позволяет импортировать иконки, не заходя на сторонние сайты. Для… Читать далее »

Делаем вкладки с помощью TabLayout

Сейчас вкладки лучше всего реализовывать за счёт использования ViewPager с пользовательским «индикатором вкладок» сверху. В этой статье мы будем использовать TabLayout от Google, включенный в библиотеку Android Support Design в Android 6.0 Marshmallow (API 23). До Android Marshmallow самым простым способом создания вкладок с помощью фрагментов было использование вкладок ActionBar. Однако, все методы, связанные с режимами… Читать далее »

Экран загрузки с использованием Physics Animation

Как разработчик, я всегда стараюсь понять логику работы некоторых особенностей приложений Android и перепроектировать их в соответствии со своей логикой. Вчера я наткнулся на этот загрузочный экран приложения ShowBox, который является хорошим потоковым сервисом для фильмов и телешоу. Увидев это, я решил перестроить этот экран в соответствии с моей логикой. Я разбил эту анимацию на… Читать далее »

Секреты разметки: «layer-list» и «include»

layer-list Вы можете просто объединить несколько изображений в одно, используя тег <layer-list>, например: <layer-list xmlns:android=»http://schemas.android.com/apk/res/android»> <item> <shape> <solid android:color=»#FFF8F8F8″ /> </shape> </item> <item android:top=»23px»> <shape> <solid android:color=»#FFE7E7E8″ /> </shape> </item> </layer-list> Примечание: к сожалению, вы не можете изменить размер изображений в layer-list. Вы можете только переместить их. include Вы можете поместить похожие элементы разметки в… Читать далее »

Использование XML Drawables в приложениях

Если вы хотите использовать PNG- или JPEG-изображения в своём приложении, вы должны будете предоставить несколько копий этих изображений для разных плотностей экрана. При большом количестве таких изображений это может сделать ваше приложение весьма громоздким. Решение здесь — использовать вместо картинок изображения, описанные с помощью XML. Фактически, XML Drawable это серия команд, которая описывает, как нарисовать… Читать далее »

MTP, внешнее хранилище и ваше приложение

Некоторые изменения после Android 3.x могут повлиять на ваше приложение, если вы сохраняете данные на внешнем хранилище и хотите, чтобы пользователи имели доступ к этим файлам с ПК или ноутбука. Android 3.0 изменил средства, с помощью которых пользователи монтируют внешнее хранилище и делают его доступным для компьютера. Ранее в Android использовался USB Mass Storage, тот… Читать далее »

Используем виджет для приложения со своим шрифтом

Дизайн виджетов не менее важен, чем дизайн приложения, поэтому кроме информативности виджет должен быть ещё и красивым. Однако при разработке виджетов можно столкнуться с тем, что возможности кастомизации по сравнению с кастомизацией приложения ограничены. Например, нет возможности задать тексту на виджете какой-нибудь нестандартный шрифт или назначить обработчики событий на элементы списка (о том, как можно… Читать далее »

Как кликнуть мышью 7000 раз на Linux?

В одном текстовом файле нужно было сделать авто замену двух символов. Повторялись они 7000 раз и запуск функции «заменить всё» вводил гугл док в ступор. Что примечательно по одному символы заменялись без проблем. Тут пришла мысль автоматизировать нажатие мыши. Задача эта для хакера достаточно тривиальная. В Linux  есть утилита для автоматизации работы с мышью и… Читать далее »