Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

如何切换MaterialComponents主题色 #11

Open
GXSZone opened this issue Oct 18, 2021 · 8 comments
Open

如何切换MaterialComponents主题色 #11

GXSZone opened this issue Oct 18, 2021 · 8 comments

Comments

@GXSZone
Copy link

GXSZone commented Oct 18, 2021

我在皮肤包里定义了
<color name="colorPrimary">#FFFFFF</color>
<color name="colorPrimaryDark">#FF9800</color>
<color name="colorAccent">#FF9800</color>
但是切换主题时MaterialComponents并没有更改主题颜色,在代码中设置 setTheme(R.style.AppTheme);也不起作用。
直接更改colorAccent可以很方便的使整个app的MaterialComponents颜色统一,但目前我无法解决

@GXSZone
Copy link
Author

GXSZone commented Oct 18, 2021

现在在宿主App里定义了一个与yellow皮肤包对应的AppTheme_Yellow主题色,当切换皮肤包的同时,宿主同时执行切换主题AppTheme_Yellow

@CoderAlee
Copy link
Owner

我在皮肤包里定义了 <color name="colorPrimary">#FFFFFF</color> <color name="colorPrimaryDark">#FF9800</color> <color name="colorAccent">#FF9800</color> 但是切换主题时MaterialComponents并没有更改主题颜色,在代码中设置 setTheme(R.style.AppTheme);也不起作用。 直接更改colorAccent可以很方便的使整个app的MaterialComponents颜色统一,但目前我无法解决

MaterialComponents 的问题正在调查

@SakurajimaMaii
Copy link
Contributor

感觉还是有类似的问题,我在app和皮肤包定义了两个颜色,如图所示:
image
image
但是切换主题后颜色显示是错误的:

example.mp4

@SakurajimaMaii
Copy link
Contributor

我又添加了两个测试View
image
分别对应fab的背景颜色和图标颜色,然后进行主题切换,可以看到View对应的颜色替换正确但是fab的颜色还是替换错误

Uploading test.mp4…

@CoderAlee
Copy link
Owner

FloatingActionButton不是基础View,如果要使其支持换肤。可以参考Demo中的CustomViewCompat类,分别实现IExpandedFactory2 与IThemeSkinExecutorBuilder

@CoderAlee
Copy link
Owner

我又添加了两个测试View image 分别对应fab的背景颜色和图标颜色,然后进行主题切换,可以看到View对应的颜色替换正确但是fab的颜色还是替换错误

Uploading test.mp4…

FloatingActionButton不是基础View,如果要使其支持换肤。可以参考Demo中的CustomViewCompat类,分别实现IExpandedFactory2 与IThemeSkinExecutorBuilder

@SakurajimaMaii
Copy link
Contributor

我又添加了两个测试View image 分别对应fab的背景颜色和图标颜色,然后进行主题切换,可以看到View对应的颜色替换正确但是fab的颜色还是替换错误
Uploading test.mp4…

FloatingActionButton不是基础View,如果要使其支持换肤。可以参考Demo中的CustomViewCompat类,分别实现IExpandedFactory2 与IThemeSkinExecutorBuilder

好的,我去参考一下。

@CoderAlee
Copy link
Owner

我又添加了两个测试View image 分别对应fab的背景颜色和图标颜色,然后进行主题切换,可以看到View对应的颜色替换正确但是fab的颜色还是替换错误
Uploading test.mp4…

FloatingActionButton不是基础View,如果要使其支持换肤。可以参考Demo中的CustomViewCompat类,分别实现IExpandedFactory2 与IThemeSkinExecutorBuilder

好的,我去参考一下。

IExpandedFactory2 用于提供换肤框架无法直接创建的View,IThemeSkinExecutorBuilder用于处理自定义属性换肤

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants