基本概念
颜色
使用任何颜色表示创建一个颜色对象,并在 NativeScript 应用程序中使用它。
Color
类支持创建颜色对象。
- 使用颜色分量(alpha、red、green、blue),范围从 0 到 255。
- 使用各种颜色表示,如 ARGB、颜色名称、十六进制值等。
Color
类实例的 ios
和 android
属性返回 iOS 上 UIColor 和 Android 上 Color 的原生平台实例。
如何使用 Color 类
从十六进制值创建颜色对象
const color = new Color('#FF00CC')
const colorShortHex = new Color('#F0C')
从 alpha 值创建颜色对象
const colorARGB = new Color(100, 255, 100, 100)
Color API
Color 类提供以下属性和方法。
构造函数
创建颜色对象。Color 类提供以下构造函数重载
const color = new Color(knownColor)
从已知颜色名称创建 Color 实例。
knownColor
: 颜色名称字符串,如'red'
、'purple'
、'orange'
。
const color = new Color(hex)
从十六进制颜色代码创建 Color 实例。
hex
: 十六进制颜色值的字符串,如'#fff'
或'#FF00CC'
。
const color = new Color(argb)
从表示带有 alpha 值的颜色的数字创建 Color 实例。
argb
: 数字,如4293377432
,表示颜色。
const color = new Color(alpha: number, red: number, green:number, blue: number, type?: 'rgb' | 'hsl' | 'hsv')
a
colorAlpha: number = color.a
获取颜色的 Alpha 分量。这是一个 只读
属性。
r
colorRed: number = color.r
获取颜色的 Red 分量。这是一个 只读
属性。
g
colorGreen: number = color.g
获取颜色的 Green 分量。这是一个 只读
属性。
b
colorBlue: number = color.b
获取颜色的 Blue 分量。这是一个 只读
属性。
argb
colorARGB: number = color.argb
获取此颜色的 Argb 数字表示形式,其中每个 8 位表示一个颜色分量。这是一个 只读
属性。
hex
colorHex: string = color.hex
获取颜色的十六进制字符串表示形式。
name
colorName: string = color.name
获取此实例的已知名称。仅在从已知颜色名称(例如“red”)构造时定义。
android
androidColor = color.android
获取特定于 Android 的整数表示形式。与 ARGB
相同。
ios
iOSColor: UIColor = color.ios
获取特定于 iOS 的 UIColor 值表示形式。
Color.equals()
areColorsEqual: boolean = Color.equals(value1: Color, value2: Color)
一个静态 Color 类方法,用于比较两个 Color
实例,如果它们相同则返回 true
,否则返回 false
。
Color.isValid()
isValidColorValue: boolean = Color.isValid(value)
一个静态 Color 类方法,用于验证一个值是否可以转换为颜色。
Color.fromIosColor()
colorFromIosColor: Color = Color.fromIosColor(value)
从特定于 iOS 的 UIColor 值表示形式创建 Color 实例。value
的类型为 UIColor.
Color.mix()
colorMix: Color = Color.mix(color1: Color, color2: Color, amount: number)
一个静态方法,用于从两种颜色的混合中创建 Color 实例。
Color.fromHSL()
colorNew: Color = Color.fromHSL(a, h, s, l)
一个静态方法,用于从 HSL 返回一个新的 Color。
Color.fromHSV()
colorNew: Color = Color.fromHSV(a, h, s, v)
一个静态方法,用于从 HSV 返回一个新的 Color。
equals()
color.equals(value)
一个 Color 实例方法,用于检查调用该方法的 Color 实例是否等于传递给该方法的 Color 实例。
isDark()
color.isDark()
一个 Color 实例方法,如果颜色为暗色则返回 true
,否则返回 false
。当 亮度 < 128
时,颜色为暗色。
isLight()
color.isLight()
一个 Color 实例方法,如果颜色为亮色则返回 true
,否则返回 false
。当 亮度 >= 128
时,颜色为亮色。
getBrightness()
colorBrightness: number = color.getBrightness()
返回颜色的 亮度 值。
getLuminance
colorLuminance: number = color.getLuminance()
返回颜色的 亮度 值。
setAlpha()
colorWithAlpha: Color = color.setAlpha(a)
将指定的 alpha 添加到调用该方法的 Color 实例,并返回结果作为新的 Color 实例。
a
是一个介于 0
和 255
之间的数值。
toHsl()
colorHsl: { h: number; s: number; l: number; a: number } = color.toHsl()
返回颜色的 hsl({ h: number; s: number; l: number; a: number }
) 表示形式。
toHslString()
colorHslString: string = color.toHslString()
返回颜色的 CSS hsl 表示形式。
toHsv()
colorHsv: { h: number; s: number; v: number; a: number } = color.toHsv()
返回颜色的 hsv({ h: number; s: number; v: number; a: number }
) 表示形式。
toHsvString()
colorHsvString: string = color.toHsvString()
返回颜色的 CSS rgb 表示形式。
desaturate()
colorDesaturated: Color = color.desaturate(amount)
通过指定数量使颜色去饱和。amount
是一个介于 0
和 100
(含)之间的数值。提供 100
等同于调用 greyscale。
saturate()
colorSaturated: Color = color.saturate(amount)
通过指定数量使颜色饱和。amount
是一个介于 0
和 100
(含)之间的数值。
greyscale()
colorGrayscaled: Color = color.greyscale()
将颜色完全去饱和为灰度。等同于调用 desaturate(100)。
lighten()
colorLightened: Color = color.lighten(amount)
通过指定数量使颜色变亮。amount
是一个介于 0
和 100
(含)之间的数值。提供 100
返回白色。
brighten()
colorBrightened: Color = color.brighten(amount)
通过指定数量使颜色变亮。amount
是一个介于 0
和 100
(含)之间的数值。
darken()
colorDarkened: Color = color.darken(amount: number)
通过指定数量使颜色变暗。amount
是一个介于 0
和 100
(含)之间的数值。100
返回黑色。
spin()
colorSpinned: Color = color.spin(amount)
将色调旋转给定的数量,从 -360
到 360
。调用 0
、360
或 -360
不会执行任何操作,因为它将色调设置回之前的值。
complement()
colorComplement: Color = color.complement()
返回一个 Color 实例,它是当前颜色的补色。
原生组件
Android
: android.graphics.ColoriOS
: UIColor
- 下一个
- 连接