From 716ea68035619e8eb3bd88e04638bb9166eec0a8 Mon Sep 17 00:00:00 2001 From: Vladimir Enchev Date: Fri, 30 Oct 2015 16:30:52 +0200 Subject: [PATCH] ActivityIndicator CSS color support fixed --- ui/styling/stylers.android.ts | 14 ++++++++++++++ ui/styling/stylers.ios.ts | 26 ++++++++++++++++++++++++++ 2 files changed, 40 insertions(+) diff --git a/ui/styling/stylers.android.ts b/ui/styling/stylers.android.ts index 265b2f356..147f9bf8c 100644 --- a/ui/styling/stylers.android.ts +++ b/ui/styling/stylers.android.ts @@ -444,6 +444,16 @@ export class TextViewStyler implements definition.stylers.Styler { } export class ActivityIndicatorStyler implements definition.stylers.Styler { + private static setColorProperty(view: view.View, newValue: any) { + var bar = view._nativeView; + bar.getIndeterminateDrawable().setColorFilter(newValue, android.graphics.PorterDuff.Mode.SRC_IN); + } + + private static resetColorProperty(view: view.View, nativeValue: number) { + var bar = view._nativeView; + bar.getIndeterminateDrawable().clearColorFilter(); + } + //Visibility methods public static setActivityIndicatorVisibilityProperty(view: view.View, newValue: any) { ActivityIndicatorStyler.setIndicatorVisibility((view).busy, newValue, view._nativeView); @@ -463,6 +473,10 @@ export class ActivityIndicatorStyler implements definition.stylers.Styler { } public static registerHandlers() { + style.registerHandler(style.colorProperty, new stylersCommon.StylePropertyChangedHandler( + ActivityIndicatorStyler.setColorProperty, + ActivityIndicatorStyler.resetColorProperty), "ActivityIndicator"); + style.registerHandler(style.visibilityProperty, new stylersCommon.StylePropertyChangedHandler( ActivityIndicatorStyler.setActivityIndicatorVisibilityProperty, ActivityIndicatorStyler.resetActivityIndicatorVisibilityProperty), "ActivityIndicator"); diff --git a/ui/styling/stylers.ios.ts b/ui/styling/stylers.ios.ts index 0ded477d7..3009aa246 100644 --- a/ui/styling/stylers.ios.ts +++ b/ui/styling/stylers.ios.ts @@ -499,6 +499,31 @@ export class SegmentedBarStyler implements definition.stylers.Styler { } } +export class ActivityIndicatorStyler implements definition.stylers.Styler { + //Text color methods + private static setColorProperty(view: view.View, newValue: any) { + var bar = view.ios; + bar.color = newValue; + } + + private static resetColorProperty(view: view.View, nativeValue: any) { + var bar = view.ios; + bar.color = nativeValue; + } + + private static getNativeColorValue(view: view.View): any { + var bar = view.ios; + return bar.color; + } + + public static registerHandlers() { + style.registerHandler(style.colorProperty, new stylersCommon.StylePropertyChangedHandler( + ActivityIndicatorStyler.setColorProperty, + ActivityIndicatorStyler.resetColorProperty, + ActivityIndicatorStyler.getNativeColorValue), "ActivityIndicator"); + } +} + export class ProgressStyler implements definition.stylers.Styler { //Text color methods private static setColorProperty(view: view.View, newValue: any) { @@ -774,4 +799,5 @@ export function _registerDefaultStylers() { ProgressStyler.registerHandlers(); SwitchStyler.registerHandlers(); TextFieldStyler.registerHandlers(); + ActivityIndicatorStyler.registerHandlers(); }