wiliwili 主题定制完整指南:从 3 分钟换肤到打造专属皮肤
【免费下载链接】wiliwili第三方B站客户端,目前可以运行在PC全平台、PSVita、PS4 、Xbox 和 Nintendo Switch上项目地址: https://gitcode.com/GitHub_Trending/wi/wiliwili
窝在沙发上用手柄刷 B 站,玩了几十个小时,界面还是出厂那副样子?wiliwili——这个专为手柄用户设计的第三方 B 站客户端(覆盖 PC、PSVita、PS4、Xbox、Nintendo Switch)内置了一套可玩性很高的主题系统:3 个官方预设主题随点随换,还支持自定义皮肤,做完打包就能分享给朋友。这篇文章按"先上手、再动手、后深入"的顺序,带你把它全部玩明白。
一、3 分钟配好预设主题:手柄两步搞定
预设主题不需要任何文件操作,全程手柄就能完成:
- 打开 wiliwili,按手柄进入「设置」;
- 切到「UI 设置」分类,找到「主题」一栏(源码中绑定为
setting/ui/theme选择器); - 方向键上下移动,选中喜欢的配色方案,按 A 确认;
- 应用会自动重启一次——这是为了把新的配色方案完整套到全部界面上,重启后再进就是新皮肤了。
官方预设里包含深色、浅色两套主题色,并且支持跟随系统自动切换,白天黑夜不用手动折腾。下面是主题相关的界面长这样:
小提示:如果同时装了自定义皮肤,设置页还会多出一行「自定义主题」入口,选"关"即可回到官方预设。
二、幕后揭秘:主题系统为什么这么容易扩展
为什么 wiliwili 的主题"换个文件就生效",而不需要重新编译?答案在代码分层上:
- 界面声明:setting_activity.hpp 里用
BRLS_BIND声明了selectorTheme(预设主题)和selectorCustomTheme(自定义主题)两个选择器,只负责"长什么样"; - 业务逻辑:setting_activity.cpp 负责"点了之后干什么"——读取当前配置、更新选择、写入新值,最后调用重启让界面全部刷新;
- 配置与加载:config_helper.cpp 中的
loadCustomThemes()负责扫描配置目录下的theme/文件夹,逐个读取每个子目录的元数据 JSON,组装成主题列表交给设置页展示;当前选中哪个皮肤,则记录在wiliwili_config.json的app_resources项里。
三层各管各的,所以无论是加新主题、改配色还是做新皮肤,都只动"资源层",不碰播放器、弹幕等核心模块——这也是它欢迎第三方参与换肤的原因。
三、从用户到创作者:做一个自定义主题的完整流程
wiliwili 的自定义皮肤本质是"替换界面资源包"。做完后,设置页会自动多出一个属于你的选项。
第 1 步:准备目录。找到 wiliwili 的配置目录,在其中的theme/下新建一个文件夹(名字即皮肤 ID,可自己取):
<配置目录>/theme/mytheme/ ├── resources_meta.json // 主题元数据(必需) └── ... // 界面图片、配色等资源第 2 步:写元数据。在文件夹根目录放置resources_meta.json,字段与 config_helper.hpp 中CustomTheme类的定义一一对应:
{ "name": "我的深夜皮肤", "desc": "低饱和深色配色,长时间追番更护眼", "version": "1.0.0", "author": "你的昵称" }第 3 步:验证识别。重启 wiliwili 进设置页,只要文件夹结构正确,「自定义主题」选择器里就会出现name里写的那一行名字;选中并确认,应用重启后皮肤即刻生效。
第 4 步:打包分享。把整个主题文件夹压成 ZIP,建议命名为主题名-版本号.zip,配上效果截图和一句话说明发出去即可。官方也在 README 中为「自定义布局」维护了独立的主题资源仓库,社区创作者的作品大多沉淀在那里。
换上自己的皮肤后,首页、影视、动态各 Tab 的效果大致如下:
四、社区生态:你的皮肤凭什么被更多人用
wiliwili 的皮肤圈是去中心化的:没有强制的"商店门槛",靠的是作品本身的质量说话。
- 分享渠道:主题以 ZIP 包形式在社区流通,附带截图与版本说明是基本礼仪,方便别人判断是否值得装;
- 排序与推荐:社区按下载量和评分给主题排序,优质作品会被推荐到显眼位置;
- 创作者激励:定期举办的主题设计大赛是曝光放大器,获胜作品有机会进入官方预设主题库,作者还能拿到社区徽章;
- 反馈闭环:装了你皮肤的用户会在评论区留言,按反馈迭代配色细节,是让一个皮肤"出圈"的最快路径。
五、进阶玩法:跟随系统的深浅色与手柄振动手感
普通用户玩配色,进阶玩家玩"氛围感"。
深浅色自动切换:wiliwili 内置深浅两色主题并支持跟随系统自动切换(见 README 特点列表)。做自定义皮肤时把深浅两套资源都备齐,晚上自动切深色、白天切浅色,比手动换更省心。
振动反馈调优:主题不只改"看"的,还能改"摸"的。手柄振动由 vibration_helper.hpp 中的VibrationHelper统一管理,投币(playCoin)、加载等待(playWait)等场景都有独立的振动数据序列;全局开关GAMEPAD_VIBRATION控制是否启用。做主题演示视频时,把投币震感录进去,观感会完整一个档次。
六、避坑指南:主题装了没反应?看这里
Q:主题文件夹放进去了,设置页里却看不到?两个高频原因:resources_meta.json不在文件夹根目录,或者 JSON 写错格式。loadCustomThemes()对单个主题解析失败时只会记日志并跳过,所以先用文本工具校验一下 JSON 再试。
Q:换了主题要重启,会不会丢进度?不会。选完主题后应用自行重启,账号登录状态保存在配置文件中,重启后一切照旧,只是界面换了一套皮。
Q:Switch / PS Vita 等掌机上卡顿怎么办?复杂皮肤(大量高清图、自定义字体)会占用更多加载和渲染开销。掌机端建议:控制图片分辨率、减少透明与动画效果、别塞过多自定义字体——轻量化皮肤在性能受限设备上反而体验最好。
Q:皮肤和版本不兼容?优先把 wiliwili 更新到最新版,或向皮肤作者索取兼容版本;元数据里的version字段就是用来对齐版本的。
写在最后:主题还会更好玩
开发团队已放话:内置主题编辑器、动态壁纸、季节主题自动切换、多元素组合主题都在规划清单里。想第一时间参与讨论,去仓库提一个 Issue 就是最直接的途径。
如果你已经按教程换好了第一套预设主题,下一步不妨从修改resources_meta.json里的name开始——十分钟之后,wiliwili 就有了一张只属于你的脸。
【免费下载链接】wiliwili第三方B站客户端,目前可以运行在PC全平台、PSVita、PS4 、Xbox 和 Nintendo Switch上项目地址: https://gitcode.com/GitHub_Trending/wi/wiliwili
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考