资源
资源集合语法
资源定义在资源集合里面。资源集合的语法如下:
/* Normal resources. */
::res {
/* Resource here. */
}
/* Resources is available when accent is blue. */
::res[accent=blue] {
/* Resource here. */
}
/*
Resource is available when accent is blue.
And description is "Resources description".
*/
::res[accent=blue][desc=Resources description] {
/* Resource here. */
}
/*
Resource is available when theme is light and accent is blue.
And description is "Resources description".
*/
::res[theme=light][accent=blue][desc=Resources description] {
/* Resource here. */
}资源语法
资源定义的语法形式如下:
自定义资源
自定义资源语法和内置资源语法一致,形式也是如资源语法所示。自定义资源参考扩展资源。
Color
Acss 支持多种颜色表达方式,包括常用色名称、RGB、RGBA、HSL、HSV 等。
Acss 支持对所有值的表达形式额外定义透明度,这让我们可以更加灵活的定义颜色资源。例如:
颜色的额外透明度作为第二个参数,与颜色的值表达式用空格间隔。这也是目前值表达式内部不允许有空格存在的原因。
Brush
对于 Color 支持的全部值表达形式,Brush 全部支持,包括常用色名称、RGB、RGBA、HSL、HSV等,也包括额外的透明度定义。
同时,画刷支持对其 Color 属性应用动态资源。应用动态资源时仍然可以添加额外的透明度属性。
Linear Brush
目前我们对 Linear Brush 的支持不够完善。初步使用方式如下代码所示。
Linear Brush 目前语法定义不完善,语法可能会发生破坏性更新。
Double & Int
Thickness
Transition
Acss 支持定义 Transition 资源,方便重用。这是 Avalonia 本身不具备的。Avalonia 支持定义 Transitions 资源,我们暂时没有进行支持。
Transition 目前语法定义不完善,语法可能会发生破坏性更新。
最后一个参数缓动函数 [Ease] 是支持使用 KeySpine 来定义缓动函数的,例如 ‘.17,.67,.83,.67’,它表示使用点 (0, 0) 和点 (1, 1) 作为起始点,(0.17, 0.67) 和点 (0.83, 0.67) 作为控制点产生的贝塞尔曲线。KeySpine 的用法请参考 这里(外链)。
Transition 资源的最后一个可选参数 [Ease] 也是支持动态资源(var)的,但是目前我们没有支持定义缓动函数(Easing Function)的资源,因此实际上目前它是没办法使用动态资源的。
BoxShadows
我们暂时对阴影资源的支持不完善,仅支持以下定义形式。
BoxShadows 目前语法定义不完善,语法可能会发生破坏性更新。
最后更新于
这有帮助吗?