Поддержка SVG на Android



поддерживает ли Android SVG? какой-нибудь пример?

619   11  

11 ответов:

наиболее полный ответ таков:

  • Андроид 2.X браузер по умолчанию изначально не поддерживает SVG.
  • браузеры Android 3+ по умолчанию поддерживают SVG.

чтобы добавить поддержку SVG в 2.x версии платформы, у вас есть два основных варианта:

  1. установите более мощный браузер (например, Firefox или Opera Mobile - оба поддерживают SVG)
  2. используйте полифилл JavaScript, который может анализировать SVG и отображать его в HTML5 холст

первый вариант подходит, если вы просто пытаетесь заставить SVG работать для личного использования или ограниченного (контролируемого) набора пользователей. Это не очень хороший вариант, если вы хотите использовать SVG, ориентируясь на большую, неконтролируемую базу пользователей.

в последнем случае, вы хотите использовать полифилл. Сегодня доступно множество библиотек JavaScript, которые могут использовать SVG и визуализировать на холсте. Два примера являются:

используя polyfill, вы можете визуализировать свой SVG в canavs на всех версиях Android 2.x.

для более полного примера этого подхода, вы можете обратиться к это сообщение в блоге, в котором обсуждается использование canvg polyfill для создания диаграмм Kendo UI DataViz (на основе SVG)на Android 2.х. Надеюсь, что помогает!

появилась новая библиотека с открытым исходным кодом, которая поддерживает загрузку и рисование файлов SVG Basic 1.1:https://github.com/pents90/svg-android. производительность хороша, поскольку фактический рисунок обрабатывается изначально android.графика.Изображение объекта.

В настоящее время некоторые люди, включая меня, работают над этим самостоятельно.
Вы можете найти рабочее решение в этих статьях:
  Android. ImageView с поддержкой SVG.
  Android ImageView и Drawable с поддержкой SVG

есть новая библиотека (в стадии активной разработки) androidsvg что позволяет включать изображения svg непосредственно в проекты. Он имеет преимущество определения SVGImageView что позволяет включать svg непосредственно в XML-макет.

наконец, в том числе svg в android является простым.

Подробнее: сообщение переполнения стека

Android поддерживает векторные чертежи: https://developer.android.com/reference/android/graphics/drawable/VectorDrawable.html

и существует Android SVG для VectorDrawable конвертер: http://inloop.github.io/svg2android/

я мельком взглянул на https://code.google.com/p/androidsvg/. до сих пор отображались все файлы svg, которые я бросил на него. Выглядит многообещающе.

Я только что бросил РЕПО Github и пример РЕПО для моей собственной библиотеки TPSVG, которую я изначально создал специально для моего приложения.

https://github.com/TrevorPage/TPSVG_Android_SVG_Library

https://github.com/TrevorPage/TPSVG_Example1

Я знаю, что мое решение несколько хардкорно, но оно отлично работает, не требует никаких внешних библиотек (по крайней мере, не в вашем окончательном коде) и очень быстро.

1) Просто возьмите существующую библиотеку загрузки SVG, такую как, например, svg-android-2 (которая является вилкой svg-android, упомянутой в другом ответе, просто с большим количеством функций и исправлений):https://code.google.com/p/svg-android-2/

2) написать простое приложение, которое не будет делать ничего, кроме загрузки и отображение изображения SVG.

3) Измените библиотеку загрузки SVG, чтобы она печатала код Java, который создает класс Picture или сохраняет его в строковой переменной.

4) скопируйте-вставьте полученный таким образом код Java в приложение, которое вы пишете.

чтобы получить дополнительную информацию об этом методе и загрузить образец исходного кода, перейдите в мой блог: http://androiddreamrevised.blogspot.it/2014/06/transforming-svg-images-into-android.html

вы можете получить рабочий пример этой техники из Google Play здесь: https://play.google.com/store/apps/details?id=pl.bartoszwesolowski.svgtodrawablesample

вот пример коммерческого приложения, созданного с использованием этой техники (Milan metro карта): https://play.google.com/store/apps/details?id=pl.bartoszwesolowski.atmmetroplan

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

Firefox для Android поддерживает SVG.

Opera Mobile для Android поддерживает svg, и Opera Mini поддерживает статическое содержание svg.

проверить поддержка вектора drawable. Android studio имеет инструмент для преобразования файлов SVG .XML-файл.

при использовании AppCompat с ImageView (или подклассов, таких как ImageButton и FloatingActionButton), вы сможете использовать новый атрибут app: srcCompat для ссылки на векторные чертежи (а также любые другие чертежи, доступные для android: src):

начиная с библиотеки поддержки Android 23.3.0, векторные чертежи поддержки могут быть загружены только через приложение: srcCompat или setImageResource()

Comments

    Ничего не найдено.