【问题标题】:How to apply MaterialComponents only to some widget?如何仅将 MaterialComponents 应用于某些小部件?
【发布时间】:2020-10-11 19:25:22
【问题描述】:
我正在从 AppCompat 迁移到 MaterialComponents,并且我想保留一些以 AppCompat 为主题的小部件(如底部导航栏)。但是,当我想将 MaterialComponents 主题应用于 Button 和 TextFields 时,我必须将我的应用程序主题设置为 MaterialComponents....,因此我的所有小部件都是 MaterialComponents 主题。我怎样才能只制作一些以 MaterialComponents 为主题的小部件?我一直在 StackOverflow 上寻找答案,但一无所获。
【问题讨论】:
标签:
android
android-appcompat
android-theme
material-components-android
【解决方案1】:
您可以使用 Bridge 主题,例如:
Theme.MaterialComponents.Bridge
Theme.MaterialComponents.Light.Bridge
Theme.MaterialComponents.NoActionBar.Bridge
Theme.MaterialComponents.Light.NoActionBar.Bridge
Theme.MaterialComponents.Light.DarkActionBar.Bridge
Bridge 主题继承自 AppCompat 主题,但也为您定义了新的 Material Components 主题属性。如果您使用桥接主题,则可以在不更改应用主题的情况下开始使用 Material Design 组件。 (来自文档)
看看:Get started - Material Design