RUEN

Обзор вспомогательной библиотеки Android SDK v26

26 версия Android SDK принесла новые возможности в наши Андроид приложения, включая шрифты как ресурсы, загружаемые шрифты, поддержка эмоджи, автоматические размеры TextView, управляемые физикой анимации через Spring and Fling, обратная совместимость для векторных анимаций, и уменьшения библиотеки при помощи повышения минимальной версии sdk до 14.

Если вы не знакомы с Android Support Library, то знайте, что вам нужно компилировать приложение на том же уровне Android API, что и последняя версия Android Support Library. Другими словами, убедитесь, что тег TargetFramework установлен на 8.0 (API 26). В таком случае приложения скомпилируется при помощи последней версии Android Support Library(V26).

Поддержка шрифтов в XML

Теперь вы можете помещать шрифты в новую папку ресурсов шрифта font. Используйте Resources.GetFont или ResourcesCompat.GetFont, чтобы скачать ресурсы шрифта в ваше приложение.

Пример: определение шрифта в XML в папке Resourcesfont:

Использование ресурса шрифта в View:

NuGet:

https://www.nuget.org/packages/Xamarin.Android.Support.v4/26.0.2-beta1

Требование: API 14+

Скачиваемые шрифты

Есть новый класс FontsContractCompat, который позволит вам запрашивать шрифты у провайдера шрифтов вместо пакетирования их внутри вашего приложения. Вы можете использовать провайдер шрифтов из Google Fonts (800+шрифтов).

Чтобы использовать его, сначала создайте FontRequest:

Во-вторых, вам нужно зарегистрировать FontRequestCallback, который внедряет OnTypefaceRetrieved(Android.Graphics.Typeface typeface) и OnTypefaceRequestFailed(int reason). Мы создали один, который вы можете использовать, в этом примере:

Наконец, вам нужно запросить шрифт:

FontsContractCompat.RequestFont(this, request, callback, GetHandlerThreadHandler());

Вы можете также запросить шрифт непосредственно в XML:

NuGet:

https://www.nuget.org/packages/Xamarin.Android.Support.v4/26.0.2-beta1

Пример проекта:

https://github.com/xamarin/monodroid-samples/tree/android-o/android-o/DownloadableFonts

Требование:

API 14+

Google Play Services 11+

Совместимость с эмодзи

Вспомогательная библиотека EmojiCompat позволит вашим устройствам пользоваться самыми новыми эмодзи, не требуя обновления Android OS. Это помогает избежать изображения надоевших пустых квадратиков (□)!

EmojiCompat имеет две основных библиотеки: скачиваемую или пакетную.

Скачиваемая

Как было отмечено выше в разделе «Скачиваемые шрифты» этого поста, сначала вам нужно сформировать FontRequest, чтобы создать FontRequestEmojiCompatConfig.

 

NuGet

https://www.nuget.org/packages/Xamarin.Android.Support.Emoji/26.0.2-beta1

 

Пакетная

Пакетная библиотека делает жизнь немного легче примерно за 7 Мбит пакетного шрифта. Все, что вам нужно, это создать BundledEmojiCompatConfig:

NuGet

https://www.nuget.org/packages/Xamarin.Android.Support.Emoji.Bundled/26.0.2-beta1

Эмодзи виджеты

Библиотека EmojiCompat обеспечивает нас тремя основными элементами для отображения эмодзи:

EmojiTextView, EmojiEditTExt, и EmojiButton

Пример проекта:

https://github.com/xamarin/monodroid-samples/tree/android-o/android-o/EmojiCompat

Требование:

API 19+

Автоматический выбор размера TextView

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

Начните с описания android:autoSizeTextType как uniform.

Степень разбивки

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

Задание размеров

Наконец, вы можете указать все значения, которые TextView может использовать при автоматическом выборе размера. Вы можете указать ресурс массива ранее заданных размеров:

Теперь вам нужно только указать значение android:autoSizePresetSizes для массива, который мы уже создали:

NuGet:

https://www.nuget.org/packages/Xamarin.Android.Support.v4/26.0.2-beta1

Требование:

API 14+

Динамическая анимация

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

Чтобы создать нашу первую динамическую анимацию, создайте новый объект SpringAnimation, используя View, ViewProperty и finalPosition.

SpringAnimation animX = new SpringAnimation(box, DynamicAnimation.TranslationX, 0);

Есть две основных концепции, которые вы можете задать для пружины: Stiffness и DampingRatio.
Stiffness определяет, как быстро пружина возвращается в исходное состояние, а DampingRatio определяет, насколько пружина упругая.

Затем вы можете задать вашу скорость StartVelocity и запустить(Start) анимацию!

NuGet

https://www.nuget.org/packages/Xamarin.Android.Support.Dynamic.Animation/26.0.2-beta1

Пример проекта

https://github.com/JonDouglas/AndroidSupportv26Samples/tree/master/SpringAnimationSample

Требование

API 14+

AnimatedVectorDrawableCompat (бонус)

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

Вы можете создать ваши собственные красивые анимации в векторной графике с помощью XML, создав элемент animated-vector и приложив pathInterpolators к определенному objectAnimator. Если вы не лучший аниматор на свете, вы можете начать здесь с помощью инструмента Алекса Локвуда:

 

NuGet:

https://www.nuget.org/packages/Xamarin.Android.Support.Animated.Vector.Drawable/26.0.2-beta1

Пример проекта:

https://github.com/JonDouglas/AndroidSupportv26Samples/tree/master/EndlessPinJump

https://github.com/JonDouglas/AndroidSupportv26Samples/tree/master/AndroidToAppleVectorLogo

Требование:

API 14+

Выводы

Есть много хороших характеристик, которые Android предоставляет в пределах своих вспомогательных библиотек, которые вы можете использовать при разработке приложений на Xamarin. Эти характеристики обычно совместимы с предыдущими версиями minSdkVersion, которые определяются вспомогательной библиотекой. Теперь у вас есть шанс исследовать, что вспомогательные библиотеки могут дать вашим приложениям!

Источник: статья Джона Дугласа «Android Support Library v26 Overview» от 2 октября 2017 года.

 

Для функционирования сайта мы собираем cookie, данные об IP-адресе и местоположении пользователей.

Я согласен