当前位置: 首页 > news >正文

同模块设置不同应用主题方案

有时候公司内部会有不同应用但是有部分模块功能一样,只根据应用角色有些细节逻辑区分的场景。这时候往往采用模块化采用以应用至不同的APP。如果APP主题不一致,该如果解决。

方案: 

在不同应用的config.gradle 下面根据不同应用定义不同的appId

在共用模块中,建立两套资源目录文件夹,分别存放不同主题的资源文件。

同时gradle配置中根据不同的appId加载不同的资源

Drawable示例

使用:

AttrResUtil.getAttrDrawableId(getActivity(), R.attr.skin_drawable_bg_address_selector)

或者?Attr/

 Attrs.xml中定义这个attr,format是reference

在 style.xml中定义这个样式

 然后在不同的资源文件夹下在分别定义这个drawable(可以是图片或者shape等等)

 【Selector里面的drawable就是按不同资源目录里面存储的样式

 Color使用:

(AttrResUtil.getAttrColor(this, R.attr.skin_color_common_dark_background)

或者

background="?attr/skin_color_common_dark_background"

Attrs.xml中定义 format是color

<attr name="skin_color_common_dark_background" format="color" />

在styles.xml中定义(公用的res下面)

<item name="skin_color_common_dark_background">@color/skin_common_dark_background</item>

在不同资源目录下的colors.xml中分别定义 color

<color name="skin_common_dark_background">XXXX</color>

http://www.lryc.cn/news/32503.html

相关文章:

  • centos7 安装 hyperf
  • RZ/G2UL核心板-40℃低温启动测试
  • PyQt5可视化 7 饼图和柱状图实操案例 ①Qt项目的创建
  • 0104路径搜索和单点路径-无向图-数据结构和算法(Java)
  • Maxscale读写分离实施文档
  • websocket实现一个简单聊天框
  • Docker-安装应用
  • Web3中的营销:如何在2023年获得优势
  • Java中==和equals区别
  • 计算机科学导论笔记(三)
  • Stream——数字类型的字符串排序
  • .NET 8 预览版 1 发布!
  • WebGIS学习路线
  • 【独家】华为OD机试 - 停车场最大距离(C 语言解题)
  • 12.typedef的使用与结构体定义
  • 宝塔+docker+jenkins部署vue项目(保姆级教程)
  • JVM面试总结
  • C语言——文件操作
  • 使用aim7测试内核性能变化
  • C++——内存管理
  • AOP的另类用法 (权限校验自定义注解)
  • [数据结构]:12-快速排序(顺序表指针实现形式)(C语言实现)
  • 运算符——“Python”
  • 2022 IoTDB Summit:华为王超《Apache IoTDB 在华为云的实践》
  • C 语言网络编程 — PF_NETLINK sockets
  • 广州银行冲刺A股上市:不良贷款规模突破100亿元,不良率飙升
  • 【C++】bsearch函数的使用及二分法查找介绍
  • 分布式系统中的补偿机制设计问题
  • 类成员的方法
  • 华为OD机试真题Python实现【端口合并】真题+解题思路+代码(20222023)