私が使う svg-Android.jar
からhttps://github.com/pents90/svg-Android
正常に機能しますが、Eclipseのエミュレーターデバイスでのみ機能します。 Agrrrr。実際のデバイスでは、画面上でimageView
が空になります。これが私のコードです:
SVG svg = SVGParser.getSVGFromResource(getResources(), R.raw.test);
Drawable drawable = svg.createPictureDrawable();
imgView.setImageDrawable(drawable);
なにか提案を?
ハードウェアレンダリングがデフォルトでオンになっている新しいデバイスでは、ソフトウェアレンダリングを明示的にオンにする必要があります。
imgView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
これはおそらくあなたの問題だと思います。
以下のコードのようにxmlでImageViewの代わりにAppCompatImageViewを使用します
<Android.support.v7.widget.AppCompatImageView
Android:tint="#d74313"
app:srcCompat="@drawable/circle_icon"
Android:layout_width="30sp"
Android:layout_height="30sp" />
あなたのbuild.gradleで
Android {
defaultConfig {
vectorDrawables {
useSupportLibrary = true
}
}
}
上記がうまくいかない場合は、アプリケーションクラスでもこれを試してください
public class App extends Application {
@Override public void onCreate() {
super.onCreate();
// Make sure we use vector drawables
AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);
}
}