# SkinPractice **Repository Path**: skyMxc/skin-practice ## Basic Information - **Project Name**: SkinPractice - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-09-21 - **Last Updated**: 2021-09-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 插件化换肤练习 - APP 应用,加载响应的皮肤包换肤。 - skin 换肤库,谁需要换肤谁引用 - skinTheme1 皮肤1 - skinTheme2 皮肤2 目前虽然代码写出来了,但是因为反射无法使用的缘故,还没有设置 mFactory2 成功。 可以学习 Android-skin-support 的做法,不使用 AppcompatActivity 或者是自己定义 AppCompatFactory 关于绕过反射限制的方法:https://weishu.me/2019/03/16/another-free-reflection-above-android-p/ https://github.com/ChickenHook/RestrictionBypass 已经可以换肤了 ## APP 换肤需要更换的属性有 - 整个 Activity 的背景 - 文字颜色,所有的文字颜色 - 按钮控件的背景 - statusBar 颜色 - toolbar 的背景和 title 文字颜色 不管是新打开的还是已经打开的,都要换肤。 做到页面无闪烁,代码无侵入。 ## 皮肤包 - skinTheme1 - skinTheme2 里面只有资源包,不包含别的东西