如何在Roku项目中设置主题背景色与文字颜色?
Roku SGDEX主题颜色设置位置指引
在Roku项目中,SGDEX的主题颜色配置并不会直接写在BaseScene.xml或SGDEXComponent.xml中,而是通过以下方式设置:
自定义主题配置脚本
创建一个独立的主题脚本(比如Theme.brs),在其中定义全局主题颜色及样式属性,示例代码:m.global.theme = { primaryColor: "#FF5722" ' 主按钮/高亮元素颜色 secondaryColor: "#2196F3" ' 辅助元素颜色 textColor: "#FFFFFF" ' 默认文本颜色 backgroundColor: "#121212" ' 页面背景色 focusedBorderColor: "#FFFFFF" ' 元素聚焦边框颜色 }在BaseScene中绑定主题
在BaseScene.xml的脚本初始化方法中,加载主题配置并将其绑定到全局字段,供所有SGDEX组件调用:sub init() ' 初始化主题对象 m.theme = CreateObject("roAssociativeArray") ' 手动定义或从外部脚本加载主题属性 m.theme.primaryColor = "#FF5722" m.theme.textColor = "#FFFFFF" ' 将主题挂载到全局上下文 m.global.setFields({ theme: m.theme }) end subSGDEX组件中引用主题
在各类SGDEX组件(如SGButton、SGList)的XML配置中,通过theme属性绑定全局主题:<SGButton id="submitBtn" theme="m.global.theme" label="提交" width="200" height="60" />
注意:不建议直接修改SGDEX库自带的主题文件,通过自定义主题覆盖默认样式的方式更便于维护和版本升级。
内容的提问来源于stack exchange,提问作者Raxit Pandya
相关产品推荐
相关产品推荐

