Unity UI ToolKit 代码动态绑定样式

一、Uss样式文件

首先得有一个uss样式文件,这里演示在Resources文件下的一个uss样式文件,路径为:

Resources/Demo/custom_style.uss

二、加载uss到类型

通过Resources的Load方法将文件以StyleSheet的类型加载:

StyleSheet customStyle = Resources.Load<StyleSheet>(path);

然后添加到类型中:

VisuelElement ve = ...
ve.styleSheets.Add(customStyle);

组件多的情况下一个一个动态的写比较麻烦,这里可以写个工具方法:

public static class UIUtillity
{
    public static void AddStyleSheet(string path, params VisualElement[] ve)
    {
	    foreach (VisualElement _ in ve)
	    {
	    	_.styleSheets.Add(Resources.Load<StyleSheet>(path));
	    }
    }
}

三、设置样式到类型

加载到类型的styleSheets之后还需要将样式文件中的样式设置到类型里。

例如custom_style.uss

.demo-style
{
    color: white;
    blackground-color: black;
}

那么则通过:

ve.AddToClassList("demo-style");

将demo样式应用到,注意AddToClassList方法参数的字符串不需要包括类选择器前面的点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值