Android có hỗ trợ SVG không? bất kỳ ví dụ nào?Hỗ trợ SVG trên Android
Trả lời
Câu trả lời đầy đủ nhất là thế này:
- Trình duyệt 2.x mặc định Android không natively hỗ trợ SVG.
- Trình duyệt mặc định của Android 3+ DO hỗ trợ SVG.
Để thêm hỗ trợ SVG với các phiên bản 2.x của nền tảng này, bạn có hai lựa chọn cơ bản:
- Cài đặt trình duyệt có khả năng hơn (như Firefox hoặc Opera Mobile - cả hai hỗ trợ SVG)
- Sử dụng một polyfill JavaScript có thể phân tích cú pháp SVG và hiển thị nó thành canvas HTML5
Tùy chọn đầu tiên là không sao nếu bạn chỉ cố gắng làm SVG hoạt động cho mục đích cá nhân hoặc một nhóm người dùng có giới hạn (có thể điều khiển). Nó không phải là một lựa chọn tuyệt vời nếu bạn muốn sử dụng SVG trong khi nhắm mục tiêu một cơ sở người dùng lớn, không được kiểm soát.
Trong trường hợp sau, bạn muốn sử dụng polyfill. Hiện có rất nhiều thư viện JavaScript có thể chạy SVG và render thành canvas. Hai ví dụ là:
Sử dụng một polyfill, bạn có thể làm cho SVG của bạn trong một canavs trên tất cả các phiên bản của Android 2.x.
Để có ví dụ hoàn chỉnh hơn về cách tiếp cận này, bạn có thể tham khảo this blog post that discusses the use of the canvg polyfill để làm cho biểu đồ KIZ UI DataViz (dựa trên SVG) hoạt động trên Android 2.x. Hy vọng rằng sẽ giúp!
Xin chào, tôi muốn biết về ImageView, liệu tôi có thể thay đổi màu của thời gian chạy hình ảnh svg đó không? –
Hiện tại một số người trong đó có tôi làm việc độc lập.
Bạn có thể tìm thấy giải pháp làm việc trong những bài viết này:
Android. ImageView with SVG Support.
Android ImageView and Drawable with SVG support
Có phải nó giống như https://github.com/pents90/svg-android không? – Robert
Firefox cho Android hỗ trợ SVG.
Opera Mobile dành cho Android hỗ trợ svg và Opera Mini hỗ trợ nội dung svg tĩnh.
Có thư viện mã nguồn mở mới hỗ trợ tải và vẽ tệp SVG Basic 1.1: https://github.com/pents90/svg-android. Hiệu suất là tốt như bản vẽ thực tế được xử lý nguyên bản bởi một đối tượng android.graphics.Picture.
Vì vậy, nó không phải là bỏ qua, tôi sẽ thêm một bình luận ở đây để điều đó (như đã đề cập trong câu trả lời của @ Todd) Android 3+ không hỗ trợ SVG. Vì vậy, không cần các nhà phát triển quan tâm đến các thư viện nếu họ không lo lắng về các thiết bị Android cũ hơn. – monotasker
Trong câu trả lời của tôi, tôi đang đề cập đến một thư viện cho phép nhà phát triển tải và hiển thị các tệp SVG trong ứng dụng của họ. Android 3+ thêm hỗ trợ trình duyệt cho SVG, nhưng ** không ** có hỗ trợ SVG trong API nhà phát triển của nó. – pents90
Ah, xin lỗi. Lỗi của tôi. – monotasker
Tôi vừa mới bắt đầu một repo Github và ví dụ repo cho thư viện TPSVG của riêng tôi, mà ban đầu tôi đã tạo riêng cho một ứng dụng của tôi.
Có một thư viện mới (đang được phát triển tích cực) androidsvg cho phép một để kết hợp hình ảnh svg trực tiếp vào các dự án. Nó có lợi thế là xác định một SVGImageView
cho phép một kết hợp một svg trực tiếp trong bố cục xml.
Cuối cùng, bao gồm svg trong android rất đơn giản.
Thông tin chi tiết: Stack Overflow post
Thư viện svg này thực sự hoạt động. svg-android và dĩa của nó không áp dụng kiểu/css mà tôi đã định nghĩa trong một nhóm cho con của nhóm. Cái này có. Cảm ơn bạn. – domenukk
tôi biết giải pháp của tôi là hơi hardcore, nhưng nó hoạt động tốt, không đòi hỏi bất kỳ thư viện bên ngoài (ít nhất là không có trong mã cuối cùng của bạn) và cực kỳ nhanh.
1) Chỉ cần một thư viện SVG tải hiện có, chẳng hạn như ví dụ svg-android-2 (mà là một ngã ba của svg-android đề cập trong câu trả lời khác, chỉ với nhiều tính năng và sửa lỗi): https://code.google.com/p/svg-android-2/
2) Viết một ứng dụng đơn giản mà sẽ không làm gì khác ngoài việc tải và hiển thị hình ảnh SVG của bạn.
3) Sửa đổi thư viện tải SVG, để nó in mã Java tạo lớp Ảnh hoặc lưu nó trong biến Chuỗi.
4) Sao chép-dán mã Java có được theo cách này vào ứng dụng bạn đang viết.
Để biết thêm thông tin về kỹ thuật và nguồn mẫu tải về mã này, hãy vào blog của tôi: http://androiddreamrevised.blogspot.it/2014/06/transforming-svg-images-into-android.html
Bạn có thể lấy một ví dụ làm việc của kỹ thuật này từ Google Play ở đây: https://play.google.com/store/apps/details?id=pl.bartoszwesolowski.svgtodrawablesample
Dưới đây là một ví dụ về ứng dụng thương mại được tạo bằng kỹ thuật này (bản đồ tàu điện ngầm Milan): https://play.google.com/store/apps/details?id=pl.bartoszwesolowski.atmmetroplan
Lưu ý tốc độ tải bản đồ và độ trông đẹp như thế nào, ngay cả khi phóng to.
Tôi đã xem qua số https://code.google.com/p/androidsvg/. Cho đến nay hiển thị tất cả các tập tin svg tôi đã ném vào nó. Trông đầy hứa hẹn.
Android hỗ trợ drawables vector: https://developer.android.com/reference/android/graphics/drawable/VectorDrawable.html
Và có tồn tại một SVG Android để VectorDrawable Chuyển đổi: http://inloop.github.io/svg2android/
và cổng lạc hậu trong thư viện hỗ trợ: https://developer.android.com/reference/android/support/graphics/drawable/VectorDrawableCompat.html –
Check-out Support vector drawable. Android studio có công cụ chuyển đổi tệp SVG thành tệp .XML.
khi sử dụng AppCompat với ImageView (hoặc các lớp con như ImageButton và FloatingActionButton), bạn sẽ có thể sử dụng ứng dụng mới: thuộc tính srcCompat để tham chiếu drawables vector (cũng như bất kỳ drawable nào khác có sẵn cho android: src):
Tính đến Android hỗ trợ Thư viện 23.3.0, drawables hỗ trợ vector chỉ có thể được nạp thông qua ứng dụng: srcCompat hoặc setImageResource()
- 1. Hỗ trợ SVG trên Android, trạng thái hiện tại
- 2. .SVG Hỗ trợ trình duyệt
- 3. Hỗ trợ Ruby cho SVG
- 4. Hỗ trợ GIF động trên Android
- 5. Hỗ trợ cho Websockets trên Android
- 6. hỗ trợ log4j trong Android
- 7. Hỗ trợ SVG trên các trình duyệt điện thoại thông minh
- 8. hỗ trợ speex trong android
- 9. Android có hỗ trợ log2
- 10. Hỗ trợ Android cho AVRCP
- 11. porting libcurl trên android với hỗ trợ ssl
- 12. ActionBar (Hỗ trợ) với Fragment (hỗ trợ)
- 13. localtime_r hỗ trợ trên MinGW
- 14. Android H.264 BaseProfile hỗ trợ cấp
- 15. Android NDK C++ 'wstring' hỗ trợ
- 16. Hỗ trợ SDK Firebase cho Android SDK?
- 17. Android 2.3 Hỗ trợ Hebrew ở Webview
- 18. Android có hỗ trợ bộ nhớ ảo
- 19. Thư viện hỗ trợ Android là gì?
- 20. Android - Hỗ trợ tiếng Hindi Conjuncts?
- 21. Hỗ trợ khóa ngoài Android ORMlite
- 22. Hỗ trợ Android Widevine HLS/DRM
- 23. SVG trong Trình duyệt Android
- 24. API SIP Android: Hiển thị hỗ trợ, nhưng lỗi 'không được hỗ trợ'
- 25. Hỗ trợ IPython trên Emacs 24.x
- 26. Trạng thái hỗ trợ D trên iOS
- 27. hỗ trợ MS Word trên iOS
- 28. Hỗ trợ WSDL/SOAP trên Go?
- 29. Hỗ trợ SMB/samba trên iOS?
- 30. Android có * native * hỗ trợ hình ảnh SVG dưới dạng các tài nguyên có thể vẽ (biểu tượng) không?
đọc này: http://code.google.com/p/android/issues/ chi tiết?id = 1376 (đọc đến hết) – ankitjaininfo
Câu trả lời được chấp nhận là không chính xác kể từ ngày 10/5/12 –