So che utilizzando la libreria di terze parti, è possibile utilizzare l'immagine SVG in Android. Biblioteca come: svg-androidCambia dinamicamente il colore dell'immagine SVG in Android
Il codice per caricare un'immagine SVG è come qui di seguito:
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);
}
Sta funzionando bene. Sono in grado di vedere l'immagine. Ma ora voglio cambiare il colore per l'immagine SVG in fase di esecuzione. Per quello ho provato il codice qui sotto come menzionato nella stessa descrizione del progetto.
// 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);
Ma con questo non sono in grado di vedere il cambiamento nel colore. Quindi mi piacerebbe sapere come è possibile cambiare il colore in modo dinamico nel file Java.
assicurarsi che questo colore '0xFF9FBF3B' esiste nella vostra svg (basta aprirlo in un editor di testo e la ricerca di questo valore). Tieni presente che il cambio colore avviene solo ** quando carichi il file **, non in modo dinamico. Quindi, basta ricaricare il file per applicare il cambiamento di colore. –