如何在Android Studio预览中找到Material.Light.Panel主题?
嘿,我来帮你搞定这个问题!你找不到Material.Light.Panel主题的核心原因是:这个主题属于Material Components Library,而你当前项目依赖的是旧版的Android Support Library(compileSdkVersion 28对应的support库),所以在主题选择对话框里看不到它。
下面是具体的解决步骤:
第一步:替换依赖为Material Components Library
打开你的build.gradle(Module级别),把原来的support库依赖替换成Material Components的依赖。修改后的dependencies部分大概是这样:dependencies { implementation fileTree(include: ['*.jar'], dir: 'libs') implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" // 替换原有的appcompat-v7、design、support-v4等依赖 implementation 'com.google.android.material:material:1.1.0' implementation 'com.android.support.constraint:constraint-layout:1.1.3' }注意:要删掉重复的依赖(比如你原来重复的
support-v4依赖),选择和你的compileSdkVersion匹配的Material Components版本(compileSdk 28对应1.1.0版本是兼容的)。第二步:修改App主题的父类
打开res/values/styles.xml,把你的应用主题的父类改成Material Components的基础主题,比如:<style name="AppTheme" parent="Theme.MaterialComponents.Light"> <!-- 这里保留你原来的自定义属性,比如colorPrimary等 --> </style>第三步:同步项目并重启预览
点击Android Studio右上角的「Sync Now」按钮,等待gradle同步完成。然后关闭当前的布局预览窗口,重新打开它——这时候你就能在主题选择对话框里找到Theme.MaterialComponents.Light.Panel(也就是你要的Material.Light.Panel对应的Material Components版本)了。
如果你不想全局修改主题,也可以在布局预览的「Theme」下拉框里手动输入@style/Theme.MaterialComponents.Light.Panel,不过前提是已经添加了Material Components的依赖,否则会出现主题找不到的错误。
内容的提问来源于stack exchange,提问作者Junerver

