Dynamische Änderung der SVG-Bildfarbe in Android
Ich weiß, dass es mit der Bibliothek von Drittanbietern möglich ist, SVG-Bilder in Android zu verwenden. Bibliothek wie: svg-android
Der Code zum Laden des SVG-Bildes ist wie folgt:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Create a new ImageView
ImageView imageView = new ImageView(this);
// Set the background color to white
imageView.setBackgroundColor(Color.WHITE);
// Parse the SVG file from the resource
SVG svg = SVGParser.getSVGFromResource(getResources(), R.raw.android);
// Get a drawable from the parsed SVG and set it as the drawable for the ImageView
imageView.setImageDrawable(svg.createPictureDrawable());
// Set the ImageView as the content view for the Activity
setContentView(imageView);
}
Es funktioniert gut. Ich kann das Bild sehen. Aber jetzt möchte ich die Farbe für das SVG-Bild zur Laufzeit ändern. Dazu habe ich den Code aus der gleichen Projektbeschreibung ausprobiert.
// 0xFF9FBF3B is the hex code for the existing Android green, 0xFF1756c9 is the new blue color
SVG svg = SVGParser.getSVGFromResource(getResources(), R.raw.android, 0xFF9FBF3B, 0xFF1756c9);
Aber damit bin ich nicht in der Lage, die Änderung in der Farbe zu sehen. Daher würde ich gerne wissen, wie es möglich ist, die Farbe in einer Java-Datei dynamisch zu ändern.