androidでsvgを使用
4700 ワード
0x01. gradleバージョン
v2.0以上
0x02. appcompatバージョン
下より高くてもいいです
0x03. build.gradle
moduleのbuidlでgradleに次の属性を追加します.
0x04. リソースの使用 0x01. AppCompatImageView の使用
代替:ImageViewはAppCompatImageView
app:android:srcの代わりにsrc Compat 0x02. ImageView の使用
Android:src属性では、互換性によるクラッシュを避けるために
xxx_svg_icon_selector.xml
PS:Buttonコントロールの属性使用はselector方式でリソースを使用する.
0x04. Activityでの処理
svgリソースを使用するactivityでは、以下の属性を使用する.
svgの画像は自分で変換する必要があります
v2.0以上
0x02. appcompatバージョン
下より高くてもいいです
compile 'com.android.support:appcompat-v7:23.2.0'
0x03. build.gradle
moduleのbuidlでgradleに次の属性を追加します.
defaultConfig {
vectorDrawables.useSupportLibrary = true
}
0x04. リソースの使用
代替:ImageViewはAppCompatImageView
app:android:srcの代わりにsrc Compat
.support.v7.widget.AppCompatImageView
android:id="@+id/xxx_aiv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_gravity="right"
app:srcCompat="@drawable/xxx_svg_icon"
android:visibility="visible"/>
<ImageView
android:id="@+id/xxx_aiv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_gravity="right"
android:src="@drawable/xxx_svg_icon_selector"
android:visibility="visible"/>
Android:src属性では、互換性によるクラッシュを避けるために
drawable/xxx_svg_icon
ファイルの参照をselectorに入れる必要がある.xxx_svg_icon_selector.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/xxx_svg_icon_normal" android:state_pressed="true"/>
<item android:drawable="@drawable/xxx_svg_icon_press"/>
selector>
PS:Buttonコントロールの属性使用はselector方式でリソースを使用する.
0x04. Activityでの処理
svgリソースを使用するactivityでは、以下の属性を使用する.
static {
AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);
}
svgの画像は自分で変換する必要があります
Module, New
|
------Vector Asset
|
------ Local file
|
------
|
------ Override( )
|
------drawable xml