Android ImageView and Drawable with SVG Support

Android ImageView and Drawable with SVG Support - CodeProject


必要になったので調査してます。以下はその調査結果について。
言及されてないところは試してないと思ってください。

試した環境

IS01(Android 1.6)

xmlでの使い方

res/layoutにあるxmlには大体こんな風に書きます。
ViewGroup系の子要素として書いてあげる必要があるので気をつけて。

<com.libsvg.SvgImageView
    android:src="@drawable/name" 
    android:background="#FF806440"
    android:layout_gravity="center"
    android:layout_height="fill_parent"
    android:layout_width="fill_parent"
    android:scaleType="fitXY"/>

android:srcにはSVGファイルを指定します。res/drawable内のファイル名を拡張子なしで指定すればOKです。
ちなみに_.svgを指定しようと思ってandroid:src="@drawable/_"って書いたらライブラリがコンパイルエラーになったので注意です。


android:backgroundはデフォルトの背景色を指定します。
SVGファイルが背景色を塗り替える場合はSVGファイルが優先されるようです。

ソースコード上での使い方

findViewByIdでインスタンスを取得出来ますので、それを使ってxmlでは出来ないUIの操作が可能です。

注意点1

SVGファイル内のgタグの属性にopacityを使った場合、なんの警告もなくアプリが落ちちゃいました。

<g opacity="0.75"><!-- 色々書いてある --></g>

半透明処理は出来ないぜハッハーって事なんでしょうか……

属性とその効果

属性名 効果
android:scaleType center

今のところはこんな感じです

若干要件を満たせない可能性を感じます……主にg.opacity