Какво е VectorDrawable и защо трябва да го използвате във вашите приложения за Android

  • VectorDrawable позволява мащабируема графика на Android без загуба на качество.
  • Намалява размера на APK и опростява поддръжката на визуални активи.
  • Той е съвместим с по-стари версии, използващи VectorDrawableCompat.
  • Може лесно да се създаде от добре структурирани SVG файлове.

Пример за VectorDrawable на Android

Виждали ли сте някога икона в приложение за Android, която изглежда перфектно, независимо от размера на екрана или разделителната способност? Най-вероятно гледате VectorDrawable. Този тип графичен ресурс революционизира начина на работа с изображения в мобилната разработка, особено в Android, като предлага ефективно, мащабируемо и леко решение за представяне на векторни графики.

В тази статия ще се потопим в това какво представлява VectorDrawable, как работи и защо се превърна в ключова част от екосистемата на Android.. Плюс това, ако сте дизайнер или разработчик, ние ще ви дадем ключовете за работа с тези видове ресурси, създаване на собствени графики и оптимизиране на приложението ви до максимум.

Какво е VectorDrawable на Android?

VectorDrawable е вид графичен ресурс в Android, който позволява векторни изображения да бъдат представяни с помощта на XML файлове.. Докато традиционните формати като PNG или JPEG са съставени от пиксели, VectorDrawable се основава на геометрични фигури като линии, криви или многоъгълници математически дефиниран.

На практика това означава, че Едно и също изображение може да бъде мащабирано до произволен размер без загуба на качество. Това е особено полезно за Android, където разнообразието от размери и плътност на екрана е огромно. Освен това, тъй като това са XML файлове, техният размер е значително по-малък от този на растерните изображения, което спомага за намаляване на размера на APK. За да придобиете повече знания за графиките и тяхното представяне, ви препоръчваме да посетите тази статия на конвертирайте изображения в карикатури.

Според собствената документация на Android, Ресурсът VectorDrawable се определя от поредица от команди в XML файл които показват как изображението трябва да бъде представено графично.

Защо да използвате VectorDrawable? Ключови предимства

Когато обмисляме разработването на приложение за Android, графичните ресурси са един от основните елементи, които влияят производителност, краен размер на приложението и потребителско изживяване. Използването на VectorDrawable носи със себе си важни предимства:

  • Ефективност на размера на APK: XML файловете са много по-малки от традиционните изображения. Това се превежда в значително намаляване на крайния размер на приложението.
  • Абсолютна мащабируемост: Тъй като не разчитат на пиксели, векторите винаги изглеждат остри, независимо от разделителната способност.
  • По-лесна поддръжка: Вече не е необходимо да имате няколко версии на една и съща икона за различни плътности (mdpi, hdpi, xhdpi...).
  • Разширена съвместимост: Благодаря на класа VectorDrawableCompat, векторите могат да се използват от API 7 нататък.

Практически пример за използване на VectorDrawable

Как и кога да използвате VectorDrawable

Както обясняват някои агенции, специализирани в мобилното развитие, Не всички графики трябва да бъдат преобразувани във VectorDrawable. Има определени фактори, които трябва да се имат предвид, когато се решава дали този метод е подходящ.

  • Използвайте го, когато графиката е проста: Идеален за икони, бутони, стрелки и т.н. Ако векторът е твърде сложен, може да се окаже по-труден за обработка от нормално изображение.
  • Не използвайте, ако има сложни модели или градиенти: VectorDrawable не поддържа тези функции, така че е най-добре да ги запазите като растерни изображения.
  • Внимавайте с текста: Ако графиката съдържа текст и изисква превод, ще трябва да преобразувате този текст във форми (очертания), тъй като не може да бъде преведен директно.

Създайте свои собствени икони на Android Може да бъде лесно, ако следвате добрите практики при проектиране и експортиране на графики. Препоръчваме ви да проверите как създайте свои собствени мобилни икони за повече информация.

Създайте VectorDrawable: Процес и инструменти

Началната точка за създаване на VectorDrawable е да имате SVG файл. Този мащабируем векторен графичен формат се поддържа широко от повечето дизайнерски програми. Въпреки това, не всички SVG са директно валидни за Android., така че трябва да ги подложим на процес на преобразуване.

Един от най-често срещаните начини е да използвате самото Android Studio, което включва SVG към XML конвертор. Въпреки че все още има ограничения, може да бъде полезен за основни икони. Ако искаме повече контрол, Има онлайн инструменти като svg2android, които ви позволяват да коригирате детайли като:

  • Премахнете празните групи от SVG, за да направите получения XML по-ефективен.
  • aplicar пренасяне на думи al pathData за да избегнете предупреждения в Android Studio.
  • Импортирайте SVG идентификатори като имена на слоеве във VectorDrawable.

Веднъж преобразуван, този XML файл е записан в папката res/drawable от нашия проект за Android и сега можем да го използваме като фон на бутон, ImageView или всеки друг визуален елемент. За повече съвети относно дизайна на интерфейса можете да разгледате нашата статия за приложения за създаване на QR кодове.

Съвместимост и използване на по-стари версии на Android

Първоначално VectorDrawable поддържаше само API 21 (Android 5.0 Lollipop) и по-нови версии. Това представляваше пречка за проекти, които трябваше да поддържат по-стари устройства.

За да реши това, Google стартира Библиотека VectorDrawableCompat включен от версия 23.2 на поддръжката на дизайна. Този клас ви позволява да използвате вектори на устройства с API 7 или по-висок.

Най-важната разлика на ниво развитие е, че За да използваме VectorDrawable с разширена съвместимост, трябва да използваме атрибута app:srcCompat вместо android:src в нашата ImageView.

<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    app:srcCompat="@drawable/ic_add" />

Най-новите версии и актуализации във VectorDrawable

Библиотеката VectorDrawable продължава да се развива. Най-новите налични версии включват:

  • Версия 1.2.0 (май 2024 г.): включва поддръжка за vectordrawable y vectordrawable-animated.
  • SeekableAnimatedVectorDrawable: разширение, което ви позволява да контролирате възпроизвеждането на анимирания вектор, да добавяте персонализирани обратни извиквания и да използвате функцията setCurrentPlayTime.
  • Подобрена поддръжка за атрибути на тема: като ColorStateLists en VectorDrawableCompat.

Тези подобрения отварят нови възможности за векторна анимация, което ви позволява да създавате много по-богати и по-интерактивни интерфейси без да се жертва производителност или съвместимост.

Най-добри практики при проектиране на SVG за Android

Ако използвате инструменти като Sketch или Adobe Illustrator, за да създадете вашите графики, имайте предвид няколко основни препоръки, за да сте сигурни, че генерираният SVG ще бъде съвместим с VectorDrawable:

  • Използвайте ясни имена за слоевете: Избягвайте общи имена като „Форма 1“.
  • Преобразувайте текст и линии в щрихи или контури: Така че те могат да се интерпретират като форми.
  • Избягвайте трансформации като сложни ротации: които често дават грешки при конвертиране в XML.
  • Активирайте опцията кръгли към цели пиксели: Това подобрява изобразяването на екрана.

След като вашият SVG е готов, експортирайте файла и го конвертирайте в XML с помощта на Android Studio или външен инструмент. След това проверете графичния резултат директно в приложението си, за да се уверите, че всичко е изобразено правилно.

Програми и инструменти за работа с векторна графика

В допълнение към Android Studio и неговите собствени инструменти за разработка, има професионални приложения за графичен дизайн, които ви позволяват да работите удобно с векторни ресурси:

  • Adobe Illustrator: Справката във векторния дизайн, с опции за експортиране на SVG.
  • Corel Draw: Много пълен и лесен за използване за по-малко технически дизайнери.
  • Inkscape: Безплатен софтуер с отворен код, който поддържа SVG.

Всички те ви позволяват да създавате графики, които по-късно можете да конвертирате във VectorDrawables, поддържайки съвместимост и мащабируемост за използване на Android.

VectorDrawable е много повече от графичен формат, той е модерно и ефективно решение което може да промени производителността и визуалния дизайн на приложението. Способността му да се адаптира към всеки екран, лесната му поддръжка и ниското му тегло го правят основен инструмент за всеки разработчик на Android. Ако все още не сте го включили в проектите си, вероятно вече имате много причини да започнете да изследвате пълния му потенциал.

Някой, готов да рисува на таблет, който държи стилус
Свързана статия:
Изкарайте своя вътрешен художник с тези приложения, за да рисувате на мобилния си телефон