目的: できればImageViewを使用してSVG画像ファイルを表示したい。
試行1:
私はそれを行うためにsvg-androidライブラリを使用しています。
私は彼らのチュートリアルを一言一句フォローしています。彼らのコードをコピーしてonCreateに貼り付け、onCreateからアプリコードをコメントアウトしました。
この前にスプラッシュ画面が表示されますが、とにかくこれを妨げるとは思えません。いずれにせよ、起動インテントを変更して更新を投稿します。
私は彼らのjarファイルをlibsフォルダーに追加し、それを参照しました。
結果1:
私はサムスンギャラクシーI93000(国際版)でテストしています
私が得るのは白い画面だけです。
コンパイルまたはランタイムエラーはありません。
Logcatの出力は次のとおりです。
01-13 01:22:11.755: D/dalvikvm(24889): GC_FOR_ALLOC freed 52K, 7% free 12198K/12995K, paused 17ms, total 17ms 01-13 01:22:11.765: I/dalvikvm-heap(24889): Grow heap (frag case) to 17.000MB for 4642816-byte allocation 01-13 01:22:11.810: D/dalvikvm(24889): GC_CONCURRENT freed 1K, 5% free 16730K/17543K, paused 15ms+2ms, total 43ms 01-13 01:22:12.080: D/dalvikvm(24889): GC_FOR_ALLOC freed <1K, 5% free 16731K/17543K, paused 13ms, total 13ms 01-13 01:22:12.100: I/dalvikvm-heap(24889): Grow heap (frag case) to 21.928MB for 5168972-byte allocation 01-13 01:22:12.125: D/dalvikvm(24889): GC_CONCURRENT freed <1K, 4% free 21779K/22599K, paused 12ms+2ms, total 25ms 01-13 01:22:12.560: D/libEGL(24889): loaded /system/lib/egl/libEGL_mali.so 01-13 01:22:12.595: D/libEGL(24889): loaded /system/lib/egl/libGLESv1_CM_mali.so 01-13 01:22:12.600: D/libEGL(24889): loaded /system/lib/egl/libGLESv2_mali.so 01-13 01:22:12.605: D/(24889): Device driver API match 01-13 01:22:12.605: D/(24889): Device driver API version: 10 01-13 01:22:12.605: D/(24889): User space API version: 10 01-13 01:22:12.605: D/(24889): mali: REVISION=Linux-r2p4-02rel0 BUILD_DATE=Tue Oct 16 15:37:13 KST 2012 01-13 01:22:12.670: D/OpenGLRenderer(24889): Enabling debug mode 0
アップデート1:
マニフェストからSVGグラフィックをメインアクティビティとして表示するアクティビティを作ってみました。結果に変化はありません。
アップデート2:
別のライブラリ/方法を試してこれを行う-SVGサポート付きのImageView。結果を投稿します。
アップデート3:
ご存知のとおり、AndroidでのSVGサポートについてはすでに見てきました。そこでの答えは、実際にはネイティブソリューションを提供していません。回避策の1つは、SVG jsライブラリを参照して、svgごとに1つずつ静的なhtmlページを作成することです。これはまったく維持できないようです。私は、人々がレガシーコードを見るときに呪う人になるでしょう。
ご想像のとおり、上記の試行はうまくいきませんでした。