Pertanyaan Dukungan SVG di Android


Apakah Android mendukung SVG? contoh apa saja?


75
2017-10-08 11:07


asal


Jawaban:


Jawaban paling lengkap adalah ini:

  • Browser default Android 2.x tidak mendukung SVG secara native.
  • Browser default Android 3+ Dukung SVG.

Untuk menambahkan dukungan SVG ke versi 2.x dari platform, Anda memiliki dua pilihan dasar:

  1. Instal peramban yang lebih mumpuni (seperti Firefox atau Opera Mobile - keduanya mendukung SVG)
  2. Gunakan polyfill JavaScript yang dapat menguraikan SVG dan merendernya ke kanvas HTML5

Opsi pertama tidak apa-apa jika Anda hanya mencoba membuat karya SVG untuk penggunaan pribadi atau sekelompok pengguna yang terbatas (dapat dikontrol). Ini bukan pilihan bagus jika Anda ingin menggunakan SVG sementara menargetkan basis pengguna yang besar dan tidak terkontrol.

Dalam kasus selanjutnya, Anda ingin menggunakan polyfill. Ada banyak pustaka JavaScript yang tersedia saat ini yang dapat mem-pindahkan SVG dan merender ke kanvas. Dua contohnya adalah:

Menggunakan polyfill, Anda dapat membuat SVG Anda dalam sebuah canavs pada semua versi Android 2.x.

Untuk contoh yang lebih lengkap dari pendekatan ini, Anda bisa merujuk posting blog ini yang membahas penggunaan polyfill canvg untuk membuat diagram Kendo UI DataViz (berbasis SVG) berfungsi di Android 2.x. Semoga itu membantu!


55
2018-02-17 18:11



Ada pustaka sumber terbuka baru yang mendukung memuat dan menggambar file SVG Basic 1.1: https://github.com/pents90/svg-android. Performanya bagus karena gambar aslinya ditangani secara native oleh objek android.graphics.Picture.


22
2018-05-11 22:56



Saat ini beberapa orang termasuk saya mengerjakannya secara mandiri.
Anda mungkin menemukan solusi yang berfungsi di artikel ini:
Android. ImageView dengan Dukungan SVG.
Android ImageView dan Drawable dengan dukungan SVG


8
2017-12-14 10:45



Ada perpustakaan baru (di bawah pengembangan aktif) androidsvg yang memungkinkan seseorang untuk memasukkan gambar svg langsung ke proyek. Ini memiliki keuntungan mendefinisikan suatu SVGImageView yang memungkinkan seseorang untuk menggabungkan svg langsung di xml tata letak.

Akhirnya, termasuk svg di android sangatlah mudah.

Keterangan lebih lanjut: Posting Stack Overflow


8
2017-11-03 00:04



Android mendukung drawables vektor: https://developer.android.com/reference/android/graphics/drawable/VectorDrawable.html

Dan ada Android SVG ke VectorDrawable Converter: http://inloop.github.io/svg2android/


8
2017-07-27 15:30



Saya sudah melihat sekilas https://code.google.com/p/androidsvg/. Sejauh ini ditampilkan semua file svg saya melemparkannya. Terlihat menjanjikan.


2
2017-07-11 06:46



Saya baru saja membuang repo Github dan contoh repo untuk perpustakaan TPSVG saya sendiri, yang awalnya saya buat khusus untuk aplikasi milik saya.

https://github.com/TrevorPage/TPSVG_Android_SVG_Library

https://github.com/TrevorPage/TPSVG_Example1


1
2018-05-28 22:33



Saya tahu solusi saya agak hardcore, tetapi bekerja dengan baik, tidak memerlukan pustaka eksternal (setidaknya tidak dalam kode final Anda) dan sangat cepat.

1) Ambil saja perpustakaan memuat SVG yang ada, seperti misalnya svg-android-2 (yang merupakan garpu svg-android yang disebutkan dalam jawaban lain, hanya dengan lebih banyak fitur dan perbaikan bug): https://code.google.com/p/svg-android-2/

2) Tulis aplikasi sederhana yang tidak akan melakukan apa pun selain memuat dan menampilkan gambar SVG Anda.

3) Ubah pustaka pemuatan SVG, sehingga mencetak kode Java yang menciptakan kelas Gambar atau menyimpannya dalam variabel String.

4) Copy-paste kode Java yang diperoleh dengan cara ini ke dalam aplikasi yang Anda tulis.

Untuk mendapatkan informasi lebih lanjut tentang teknik ini dan mengunduh kode sumber sampel, buka blog saya: http://androiddreamrevised.blogspot.it/2014/06/transforming-svg-images-into-android.html

Anda bisa mendapatkan contoh kerja dari teknik ini dari Google Play di sini: https://play.google.com/store/apps/details?id=pl.bartoszwesolowski.svgtodrawablesample

Berikut ini contoh aplikasi komersial yang dibuat menggunakan teknik ini (peta metro Milan): https://play.google.com/store/apps/details?id=pl.bartoszwesolowski.atmmetroplan

Perhatikan seberapa cepat beban peta dan seberapa cantik tampilannya, bahkan ketika diperbesar.


1
2018-06-27 18:20



Firefox untuk Android mendukung SVG.


0
2018-05-03 06:12



Opera Mobile untuk Android mendukung svg, dan Opera Mini mendukung konten svg statis.


0
2018-05-03 08:54