Exe
Exe
  • 发布:2019-05-13 11:41
  • 更新:2023-06-12 11:04
  • 阅读:3587

uniapp 安卓和苹果上怎么做全局换肤

分类:uni-app

求教,用什么方法可以实现安卓和苹果等原生app的全局换肤功能
看了几个vue的方法,但是不知道安卓和苹果要怎么实现,无从入手

2019-05-13 11:41 负责人:无 分享
已邀请:
8***@qq.com

8***@qq.com

我有一个大胆的想法,但是可能做起来有一点复杂,因为uni-app有一个问题就是它提供的许多组件,比如一个radio,它的色彩样式是通过color属性去设置的,而不是像pc端的div,可以通过bgColor等css样式去控制,我的思路是这样的:
1.利用vuex状态管理去做全局的样式控制,也就是首先定义一套全局的样式

  1. 将需要纳入换肤的控件做封装,比如radio封装成一个<ly-radio>,在封装的组件中,color的属性值取全局样式的属性值
  2. 在换肤功能中去$commit或dispatch改变全局样式的值,就会触发所有页面中<ly-radio>的更新,达到换肤的效果
    以上只是我的思路,还没有具体实现,理论上是可行的。因为已经验证过一个功能。
  • Exe (作者)

    感谢!! 我去试试

    2019-05-20 16:36

  • 8***@qq.com

    回复 Exe: 不客气,我也是之前一直纠结这个换肤的问题,最近在封装request的时候在拦截器里用vuex改变状态配合封装的一个error组件去动态的渲染错误页。得到的启发,这个功能已经实现了,所以我觉得换肤应该是一样的原理,可以试试

    2019-05-20 17:01

  • 2***@qq.com

    你这个思路是正确的,最佳实践

    2021-03-22 15:40

5***@qq.com

5***@qq.com

请问换肤已经ok了吗?能说下思路吗?

我app背景都是由图片组成

tpframe2020

tpframe2020 - 免费提供大量开源程序

看我分享的:https://ask.dcloud.net.cn/article/40578

要回复问题请先登录注册