mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-11-05 13:26:48 +08:00
Merge pull request #1005 from NativeScript/ActivityIndicator-color
ActivityIndicator CSS color support fixed
This commit is contained in:
@@ -2,6 +2,8 @@
|
||||
import helper = require("../helper");
|
||||
import viewModule = require("ui/core/view");
|
||||
import imageModule = require("ui/image");
|
||||
import platform = require("platform");
|
||||
import color = require("color");
|
||||
|
||||
// <snippet module="ui/activity-indicator" title="activity-indicator">
|
||||
// # ActivityIndicator
|
||||
@@ -55,6 +57,20 @@ export function test_set_TNS_value_updates_native_value() {
|
||||
helper.buildUIAndRunTest(indicator, testAction);
|
||||
}
|
||||
|
||||
// Uncomment this when find way to check android Drawable color set by setColorFilter() method.
|
||||
if (platform.device.os === platform.platformNames.ios) {
|
||||
exports.test_set_color = function () {
|
||||
var ai = new activityIndicatorModule.ActivityIndicator();
|
||||
ai.color = new color.Color("red");
|
||||
|
||||
function testAction(views: Array<viewModule.View>) {
|
||||
TKUnit.assertEqual(ai.color.ios.CGColor, ai.ios.color.CGColor, "ai.color");
|
||||
};
|
||||
|
||||
helper.buildUIAndRunTest(ai, testAction);
|
||||
}
|
||||
}
|
||||
|
||||
// This method is only for the code snippet
|
||||
/* tslint:disable:no-unused-variable */
|
||||
function binding_busy_to_image() {
|
||||
|
||||
@@ -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 = <android.widget.ProgressBar>view._nativeView;
|
||||
bar.getIndeterminateDrawable().setColorFilter(newValue, android.graphics.PorterDuff.Mode.SRC_IN);
|
||||
}
|
||||
|
||||
private static resetColorProperty(view: view.View, nativeValue: number) {
|
||||
var bar = <android.widget.ProgressBar>view._nativeView;
|
||||
bar.getIndeterminateDrawable().clearColorFilter();
|
||||
}
|
||||
|
||||
//Visibility methods
|
||||
public static setActivityIndicatorVisibilityProperty(view: view.View, newValue: any) {
|
||||
ActivityIndicatorStyler.setIndicatorVisibility((<any>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");
|
||||
|
||||
@@ -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 = <UIActivityIndicatorView>view.ios;
|
||||
bar.color = newValue;
|
||||
}
|
||||
|
||||
private static resetColorProperty(view: view.View, nativeValue: any) {
|
||||
var bar = <UIActivityIndicatorView>view.ios;
|
||||
bar.color = nativeValue;
|
||||
}
|
||||
|
||||
private static getNativeColorValue(view: view.View): any {
|
||||
var bar = <UIActivityIndicatorView>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();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user