BetterVia 一键主题更换——Via 也能有深色模式和各种皮肤
Via 原生主题能力的局限
Via 浏览器自身只提供了少量主题选项——主要是浅/深两档配色和几种底部栏位置。虽然 Via 社区有第三方主题包,但安装步骤繁琐(手动改配置文件、重启浏览器验证效果),对普通用户不友好。
BetterVia 主题引擎
BetterVia 在模块面板里内置了完整的主题管理界面:
- 浏览和切换预定义主题:深色、浅色、彩色渐变、透明、Material You 风格
- 收藏喜欢的主题
- 从社区导入主题包(通过 Gitee 或酷安分享的主题配置文件)
- 自定义基础配色(手动指定主色、背景色、文字颜色)
所有切换即时生效,不需要重启 Via。
预定义主题列表
BetterVia 默认附带的主题(不同版本数量略有差异):
| 主题 | 特点 | 适用场景 |
|---|---|---|
| 默认浅色 | Via 原生浅色风格,优化对比度 | 日间使用 |
| 暗黑模式 | 纯黑底 + 低饱和文字 | 夜间、OLED 屏幕 |
| Material You | 取色自当前锁屏壁纸 | Android 12+ |
| 青色科技 | 深色 + 青色高亮 | 科技感爱好者 |
| 透明玻璃 | 背景半透明 + 毛玻璃效果 | 透明党 |
| 复古终端 | 等宽字体 + 绿色高亮 | 极客风 |
自定义主题
在「自定义」区域可以手动调整:
- 主色(action bar 背景)
- 强调色(按钮高亮、链接颜色)
- 背景色(页面空白区域)
- 文字颜色(主文字、次要文字)
- 底部栏样式(胶囊、圆角、悬浮球)
调整过程中可以实时预览效果。满意后点「保存为主题」即可存入本地主题库,下次一键切换。
主题的实现原理
BetterVia 的主题引擎通过 hook Via 的 LayoutInflater,在界面加载时动态替换 View 的 background 和 textColor 属性。这意味着:
- 主题只影响 Via 原生 UI(地址栏、侧边栏、设置页等)
- 网页内容不受主题影响(那部分是 WebView 渲染的,BetterVia 不碰)
- 每次 Via 启动时自动应用上次选择的主题
与 Via 社区主题的关系
BetterVia 内置主题是独立的——它不替代 Via 社区的主题生态,而是提供了一套更好用的 UI。社区分享的主题包(JSON 或 XML 格式)可以通过 BetterVia 的「导入主题」功能加载进来。