Android는 SVG를 지원합니까? 어떤 예?
Android는 SVG를 지원합니까? 어떤 예?
답변:
가장 완전한 대답은 다음과 같습니다.
2.x 버전의 플랫폼에 SVG 지원을 추가하려면 두 가지 기본 선택 사항이 있습니다.
첫 번째 옵션은 SVG를 개인적인 용도로 사용하거나 제한된 (제어 가능한) 사용자 집합을 위해 사용하려는 경우 괜찮습니다. 대규모의 통제되지 않은 사용자 기반을 대상으로하는 동안 SVG를 사용하려는 경우 좋은 옵션이 아닙니다.
나중의 경우에는 폴리 필을 사용하려고합니다. 현재 SVG를 평가하고 캔버스로 렌더링 할 수있는 JavaScript 라이브러리가 많이 있습니다. 두 가지 예는 다음과 같습니다.
폴리 필을 사용하면 모든 Android 2.x 버전의 canavs에서 SVG를 렌더링 할 수 있습니다.
이 접근 방식의보다 완전한 예는 Android 2.x에서 Kendo UI DataViz 차트 (SVG 기반)가 작동하도록 만들기위한 canvg polyfill의 사용에 대해 설명하는이 블로그 게시물을 참조 할 수 있습니다 . 도움이 되었기를 바랍니다.
SVG Basic 1.1 파일로드 및 그리기를 지원하는 새로운 오픈 소스 라이브러리가 있습니다 : https://github.com/pents90/svg-android . 실제 드로잉은 android.graphics.Picture 객체가 기본적으로 처리하므로 성능이 좋습니다.
현재 저를 포함한 몇몇 사람들이 독립적으로 작업하고 있습니다.
다음 문서에서 작동하는 솔루션을 찾을 수 있습니다.
Android. SVG 지원이 포함 된 ImageView.
SVG를 지원하는 Android ImageView 및 Drawable
프로젝트에 직접 svg 이미지를 통합 할 수 있는 새로운 라이브러리 (현재 개발중인) androidsvg 가 있습니다. SVGImageView
레이아웃 xml에 svg를 직접 통합 할 수있는를 정의하는 장점 이 있습니다.
마지막으로, 안드로이드에 svg를 포함하는 것은 간단합니다.
자세한 내용 : Stack Overflow 게시물
Android는 벡터 드로어 블을 지원합니다 : https://developer.android.com/reference/android/graphics/drawable/VectorDrawable.html
그리고 Android SVG to VectorDrawable Converter가 있습니다 : http://inloop.github.io/svg2android/
https://code.google.com/p/androidsvg/를 간략히 살펴 보았습니다 . 지금까지 내가 던진 모든 svg 파일을 표시했습니다. 유망 해 보인다.
저는 원래 제 응용 프로그램을 위해 특별히 만든 제 TPSVG 라이브러리에 대한 Github 리포지토리와 예제 리포지토리를 방금 정리했습니다.
내 솔루션이 다소 하드 코어하다는 것을 알고 있지만 훌륭하게 작동하고 (적어도 최종 코드가 아닌) 외부 라이브러리가 필요하지 않으며 매우 빠릅니다.
1) 예를 들어 svg-android-2 (다른 답변에서 언급 한 svg-android의 포크이며 더 많은 기능과 버그 수정과 함께)와 같은 기존 SVG 로딩 라이브러리를 사용 하십시오 . https://code.google.com / p / svg-android-2 /
2) SVG 이미지를로드하고 표시하는 것 외에는 아무것도하지 않는 간단한 앱을 작성합니다.
3) SVG 로딩 라이브러리를 수정하여 Picture 클래스를 생성하는 Java 코드를 인쇄하거나 String 변수에 저장합니다.
4) 이렇게 얻은 Java 코드를 작성중인 앱에 복사하여 붙여 넣습니다.
이 기술에 대한 자세한 정보를 얻고 샘플 소스 코드를 다운로드하려면 내 블로그로 이동하십시오. http://androiddreamrevised.blogspot.it/2014/06/transforming-svg-images-into-android.html
https://play.google.com/store/apps/details?id=pl.bartoszwesolowski.svgtodrawablesample 에서 Google Play에서이 기술의 작동 예제를 얻을 수 있습니다.
다음은이 기술 (밀라노 지하철지도)을 사용하여 만든 상업용 앱의 예입니다. https://play.google.com/store/apps/details?id=pl.bartoszwesolowski.atmmetroplan
확대해도지도가로드되는 속도와보기가 얼마나 예쁜지 확인하세요.
Support vector drawable을 확인하십시오 . Android 스튜디오에는 SVG 파일을 .XML 파일로 변환하는 도구가 있습니다.
ImageView (또는 ImageButton 및 FloatingActionButton과 같은 하위 클래스)와 함께 AppCompat를 사용할 때 새로운 app : srcCompat 속성을 사용하여 벡터 드로어 블 (및 android : src에서 사용할 수있는 다른 드로어 블)을 참조 할 수 있습니다.
Android 지원 라이브러리 23.3.0부터 지원 벡터 드로어 블은 app : srcCompat 또는 setImageResource ()를 통해서만로드 할 수 있습니다.
Android 용 Opera Mobile 은 svg를 지원하고 Opera Mini 는 정적 svg 콘텐츠를 지원합니다.