找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
问题
取消精华
首页精华问答
取消推荐
高端用户推荐
申请置评
已申请置评
修改
修改标签
添加标签
官方认证
取消官方认证
修改标签
添加标签
转移分类
删除
{{itemCategory}}
收藏({{answerDetail.Q_FavoriteCounts}})
手机扫码追踪该问题,
觉得实用,立即去分享!
点击复制链接
专家建议
取消最佳答案
修改
Unified是Web模式的界面(MTP屏),与原来的TP屏差别很大。
刚好我最近也在学习中,刚开始用,有很多不习惯,不过越用越方便,因为Unified下任意对象的大多数属性都可以用JS代码自定义,用好了,即灵活又强大;但如果用不好就可能会影响系统性能。
关于你的问题,可以参考一下这个链接中的回答:
https://www.ad.siemens.com.cn/service/answer/solved_308395_1254.html
你代码中的“绿色”,可以采用类似CSS样式的方式实现,我一会再来修改回答增加一些样式定义的说明:
颜色参数定义为:value = HMIRuntime.Math.RGB(94, 209, 173, 255); //前三个参数是RGB值,最后一个是不透明度。
所以原理上只要通过一个带参数(颜色名称)的脚本来输出不同的颜色参数(如上行定义)即可实现类似样式的功能。
export function ColorStyle(ColorName, Dimming) { //自行在脚本里定义带两个参数接口(ColorName:颜色名称;Dimming:不透明度)的函数ColorStyle
if (Dimming == 0 ) Dimming = 255; //防止完全看不到
switch (ColorName) { //尽量用英文颜色名称
case "White":
return HMIRuntime.Math.RGB(255, 255, 255, Dimming); // 白色
case "Black":
return HMIRuntime.Math.RGB(0, 0, 0, Dimming); // 黑色
case "Gray":
return HMIRuntime.Math.RGB(128, 128, 128, Dimming); // 灰色
case "Red":
return HMIRuntime.Math.RGB(255, 0, 0, Dimming); // 红
case "Green":
return HMIRuntime.Math.RGB(0, 255, 0, Dimming); // 绿
case "Blue":
return HMIRuntime.Math.RGB(0, 0, 255, Dimming); // 蓝
//可以定义更多颜色名称
default: //默认颜色
return HMIRuntime.Math.RGB(0, 0, 0, Dimming); // 黑色
}
}
然后在你要用到颜色的编辑处,在“全局定义”内导入上面的函数:
import {ColorStyle} from "你的脚本所在位置(在库中的还带版本号)";
然后就可以直接使用颜色了,例如:
Value=ColorStyle("Red",255); // 代表红色,不透明度255。
或者
Value=ColorStyle("Green"); // 代表绿色,不透明度为0时自动调整至255。
最后再
return value;
说的比较详细了,但打字较慢,有表达不清楚的,你多理解一下。
PS:采用颜色样式的方式不一定只按颜色去定义,还可以更灵活点使用,比如定义一个颜色样式为Press(按下时的颜色);再定义一个颜色样式Release(松开时的颜色):
假设一开始按下时定义的是绿色,松开时是红色,然后在项目中有很多按钮用到这两个样式,突然有一天,客户说要所有相关按钮按下为蓝色,松开为黑色。
是不是直接修改颜色样式定义参数就好了。
Unified还有很多妙用,祝大家工作顺利。
等您来回答
换一换
{{item.CoinValue}}西币
{{item.VisitNum}}人想问
本版相关问题
换一换
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!

西门子商城