Android Studio 3.2 布局“预览”没有正确模拟材料设计组件

Posted

技术标签:

【中文标题】Android Studio 3.2 布局“预览”没有正确模拟材料设计组件【英文标题】:Android Studio 3.2 layout "preview" not emulating material design components properly 【发布时间】:2019-04-19 03:11:57 【问题描述】:

我一直在更新我的项目以针对 sdk-api28 并开始设置最新的 MaterialComponents,但我现在遇到了 android Studio 中的布局预览器问题。

预览不会显示材料组件的正确设计,例如。在 TextInputLayout 视图上添加 style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox" 不会更改模拟预览中的设计(无轮廓),但在手机上运行时看起来确实不错(有轮廓)。

以下是它在手机上运行时的外观和外观:

但这是它在 Android 工作室预览版中的外观截图。

我在任何项目上都遇到过这个问题,甚至在使用来自 MDC Codelabs (MDC-103(Java) - Shrine) 的相同设置的 Shrine 教程应用程序上。

这只发生在预览中。这些项目中的任何一个在手机Studio中的模拟器上运行时,看起来都不错。

尽管我可以“思考”这个问题,但问题是我相信以某种方式连接到我的 Android Studio、模拟器或构建工具版本?请有人指出我是否遗漏了一些非常简单的东西?

我已安装的 Android Studio(sdk、工具等)版本:

Android Studio 3.2.1 安卓模拟器28.0.16 安卓平台版本:API 28: Android 9 (Pie) revision 6 Android SDK 平台-工具28.0.1 Android SDK 工具26.1.1

【问题讨论】:

【参考方案1】:

我在 android studio 3.2 中遇到了这个问题。 一天后一切顺利。 我所做的是无效并重新启动。重置android studio默认设置 干净的。并退出android studio并再次打开它。它工作正常 这是一个与您无关的错误。

【讨论】:

嘿 Ramzy,这并没有解决问题,但感谢您的提示。我确实尝试了File 下的Invalidate (caches) and restart 选项,但不幸的是这并没有改变任何东西。【参考方案2】:

虽然一些遇到类似问题的用户可以通过清理 Android Studio 缓存和配置来解决这个问题,但这对我来说不起作用。

在研究了各种可能的修复和提示后,我通过更新到 Android Studio 3.4 Canary 解决了这个问题,这是 Android Studio 的最新非保证稳定版本,您可以通过下载 Preview release 获得它(这里:@ 987654321@) 或更改您的更新偏好(在 Android Studio 中),即。 Update channelDev channel 或 Android Studio 中的 Canary channel Settings > Appearance & Behaviour > System settings > Updates

我确实认为这可能不是一个正确的解决方案,但它是唯一对我有用并解决了布局(设计)预览无法显示正确设计的问题。

如果其他人遇到类似问题,请务必先尝试清除缓存,使用File 菜单下的Invalidate and restart 或任何其他方法。 Invalidate and restart 功能清除缓存并重新启动 android studio,之后它必须再次同步并检查所有依赖项、SDK、工具等。

为了避免这个问题,在尝试其他任何方法之前,请确保您安装了正确且最新的 SDK Build-toolsEmulatorSDK Platform-toolsSDK Tools 版本。

我暂时把这个留在这里作为答案,如果有新的解决方案出现,我会更新它。

【讨论】:

以上是关于Android Studio 3.2 布局“预览”没有正确模拟材料设计组件的主要内容,如果未能解决你的问题,请参考以下文章

请教一个关于Android Studio布局预览的问题

android studio怎么实时预览布局界面

Android Studio 不显示布局预览

Listview + Gridview 的 Android Studio 布局预览

Android Studio 不显示布局预览(也没有错误发生)

Android的Studio 2.2 预览 - 新的UI设计师和约束布局