ho trovato alcune soluzioni per cambiare il colore del filatore su iOS:Cordova splash screen a colori cambiamento filatore su Android
How to show custom Splash Screen Spinner (i.e spinner with white color) in iOS phonegap app?
Change Color of Splash Screen Spinner in cordova-plugin-splashscreen
... e un paio di altre questioni più o meno correlato, ma nulla per cambiare il colore della rotella di caricamento della schermata iniziale su Android. Il mio splash screen è blu, e lo spinner è azzurro, non proprio visibile, e vorrebbe cambiarlo in bianco.
Sto utilizzando cordova-plugin-splashscreen
da https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-splashscreen/index.html e ho creato la mia app localmente utilizzando cordova build android
e sono riuscito a distribuire il mio codice sul mio dispositivo. Ma nessuna fortuna nel cambiare il colore di quel filatore.
penso che il codice da modificare è in platforms/android/src/org/apache/cordova/splashscreen/Splashscreen.java
, quando si crea l'oggetto ProgressBar:
private void spinnerStart() {
cordova.getActivity().runOnUiThread(new Runnable() {
public void run() {
spinnerStop();
spinnerDialog = new ProgressDialog(webView.getContext());
spinnerDialog.setOnCancelListener(new DialogInterface.OnCancelListener() {
public void onCancel(DialogInterface dialog) {
spinnerDialog = null;
}
});
spinnerDialog.setCancelable(false);
spinnerDialog.setIndeterminate(true);
RelativeLayout centeredLayout = new RelativeLayout(cordova.getActivity());
centeredLayout.setGravity(Gravity.CENTER);
centeredLayout.setLayoutParams(new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
/* The following line here: */
ProgressBar progressBar = new ProgressBar(webView.getContext());
RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
layoutParams.addRule(RelativeLayout.CENTER_IN_PARENT, RelativeLayout.TRUE);
progressBar.setLayoutParams(layoutParams);
centeredLayout.addView(progressBar);
spinnerDialog.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
spinnerDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
spinnerDialog.show();
spinnerDialog.setContentView(centeredLayout);
}
});
}
non so Android di programmazione applicazioni (anche se ho trovato molti esempi, io non sono a conoscenza di come costruire vista in xml da file di risorse, ecc ... e difficilmente ho trovato alcuna documentazione che descrivesse come aggiungere risorse ai progetti cordova).
Io uso cordova in modo che non debba ancora costruire app native native per Android, e senza quella formazione, questa parte è diventata piuttosto frustrante - qualcuno ha ancora trovato una soluzione?
forse relativi a https://developer.android.com/reference/android/widget/ProgressBar.html#setProgressTintList(android.content.res.ColorStateList) - io non so come utilizzare ColorStateList ed è correlato ai file di risorse xml. –