From 1a4b51fbc8344da00a9e2d4fdf96e6ed8958984a Mon Sep 17 00:00:00 2001 From: MartijnW49 Date: Thu, 13 Oct 2016 14:20:32 +0200 Subject: [PATCH] CB-12011: (android) added the possibility to change the spinner color on Android 5.0+ apps --- src/android/SplashScreen.java | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/android/SplashScreen.java b/src/android/SplashScreen.java index c2424f6..37e8caf 100644 --- a/src/android/SplashScreen.java +++ b/src/android/SplashScreen.java @@ -24,6 +24,7 @@ import android.app.ProgressDialog; import android.content.Context; import android.content.DialogInterface; import android.content.res.Configuration; +import android.content.res.ColorStateList; import android.graphics.Color; import android.graphics.drawable.ColorDrawable; import android.os.Handler; @@ -366,6 +367,27 @@ public class SplashScreen extends CordovaPlugin { RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); layoutParams.addRule(RelativeLayout.CENTER_IN_PARENT, RelativeLayout.TRUE); progressBar.setLayoutParams(layoutParams); + + if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) { + String colorName = preferences.getString("SplashScreenSpinnerColor", null); + if(colorName != null){ + int[][] states = new int[][] { + new int[] { android.R.attr.state_enabled}, // enabled + new int[] {-android.R.attr.state_enabled}, // disabled + new int[] {-android.R.attr.state_checked}, // unchecked + new int[] { android.R.attr.state_pressed} // pressed + }; + int progressBarColor = Color.parseColor(colorName); + int[] colors = new int[] { + progressBarColor, + progressBarColor, + progressBarColor, + progressBarColor + }; + ColorStateList colorStateList = new ColorStateList(states, colors); + progressBar.setIndeterminateTintList(colorStateList); + } + } centeredLayout.addView(progressBar);