安卓工作室渲染问题

196

我正在使用 Android Studio 0.2.3,当我打开一个 activity layout 时,预览应该出现在右侧,这样我就可以在 TextDesign 模式之间切换,再次显示布局的预览。

但是无论我处于 text 模式还是 design 模式,都没有预览。 我只得到错误 rendering problems...

当我编译所有内容并将应用安装到我的设备上时,它可以正常工作,没有任何错误。 但是为了开发和实验布局,如果能使预览正常工作那就最好了。

我也尝试在 studio 中切换不同的设备,但没有成功。

有人知道如何解决这个问题吗?


2
你是否找到了解决方法?我在使用0.2.6和0.2.7时也遇到了同样的问题。没有错误,设备上运行良好,但是我无法让预览功能正常工作。 - Tim
不幸的是,当我重新启动工作室时,预览功能会再次运行一段时间,但当我开始添加/修改许多组件时,错误会再次出现,我猜我的笔记本电脑可能太慢了(它相当老 ;)) 无法及时完成渲染等操作。 - wasp256
1
非常遗憾,目前我的程序出现了错误,无论我重启多少次都没有任何作用。当布局出现错误时,它会列举出来,但是当一切正确时,它只会显示渲染问题。我的电脑并不算古老或缓慢。我可以手动编辑文件并在设备上测试,但没有预览让人感到非常沮丧。 - Tim
我已经安装了0.2.7版本的工作室和Java 7版本...你描述的问题似乎与我遇到的完全相同,但不幸的是我不知道问题可能是什么。 - wasp256
1
可能是Android Studio的渲染问题的重复问题。 - H. Pauwelyn
在我的情况下,我将TextClock注释掉,然后再取消注释,布局就显示出来了。 - Reejesh PK
17个回答

530

根据您的清单将Android设备预览中的版本更改为当前版本。渲染问题是由于您的设计师预览使用的API级别高于您当前的Android API级别。

与您当前的API级别调整

与您当前的API级别调整。如果列表中没有API级别,则需要通过SDK Manager安装它。


什么是 null?你能给更多的解释吗? - Adiyat Mubarak
1
当您预览布局时,右下角有一个小的Android图标,我们在其中指定API级别。本应该是19,但我的显示为<null>。但我解决了这个问题,我将gradle更新到2.0并更改了gradle home,重新构建了项目并重启了studio,现在它显示为19...所以一切都准备就绪了。 - Nipun David
@Keda87 你的项目构建正常吗?我在 Android 版本下拉菜单中也遇到了 <null>,但在项目成功构建后得到了正确的 SDK 版本。 - TheVillageIdiot
在我的情况下,我不得不稍微调整API级别。最终它在API 16上运行成功了。 - Katedral Pillon
嗨,我的预览没有刷新,这是我的情况,它显示预览,但在我对XML代码进行一些更改后,它没有刷新和应用更改,有人能帮我吗? - Ashana.Jackol
显示剩余2条评论

25

如果在新版Android Studio 2.2中遇到渲染问题,请按照以下步骤进行修复。

我解决了这个问题 - 在styles.xml文件中我做了更改。


"Theme.AppCompat.Light.DarkActionBar"

"Base.Theme.AppCompat.Light.DarkActionBar"

这是我很久以前发现的一种黑科技,用来解决之前 Android Studio 版本中类似的渲染问题。


1
但对于Theme.AppCompat.Light.NoActionBar无效。 - Zach

18
  1. 打开AndroidManifest.xml
  2. 将:

    android:theme="@style/AppTheme"
    修改为类似这样的内容:

    android:theme="@style/Theme.AppCompat.Light"
  3. 在“Preview”标签中点击“刷新”按钮。

14

11

当我在xml文件中设置android:autofillHints="" />时,我遇到了Android Studio渲染问题,因此我设置了android:autofillHints="testHint" />���这个问题就解决了。


解决了我的问题,同时也适用于最新的Android Studio 4.2.1版本。 - Piepypye
非常准确。我遇到了java.lang.StringIndexOutOfBoundsException: String index out of range: -1的问题。我不知道你是如何将这个属性作为错误跟踪的,因为错误跟踪并没有给出任何线索。非常感谢。 - ruX

11

在最新的Android Studio 3.1.3版本中,依赖项:

implementation 'com.android.support:appcompat-v7:28.0.0-alpha3'

或者

即使在最晚的8月27日18之前

implementation 'com.android.support:appcompat-v7:28.0.0-rc01' 遇到类似问题

将其更改为

    implementation 'com.android.support:appcompat-v7:28.0.0-alpha1

这将解决您的预览问题。

更新

然而,在beta01版中,最新的appcompact v7库仍存在预览问题。 将上述更改更改为alpha01以解决渲染问题。


1
截至今天,问题仍然存在;在build.gradle文件中,我使用了-beta01,我将其更改为-alpha1以解决问题。 - Zac
最新的依赖项是 implementation 'com.android.support:appcompat-v7:28.0.0-rc01' - Mahdi Moqadasi
即使在这个依赖关系中,它仍然存在相同的问题。不知道为什么即使进行了迭代更新后问题仍未解决。 - KRIPA SHANKAR JHA
我有同样的问题。这个解决方案拯救了我的生命。 - Second Person Shooter

6

我通过更改 style.xml 文件解决了这个问题。

<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">
     <!-- Customize your theme here. -->
</style>

这是一个很棒的解决方案。

我已经寻找解决这个问题的方法有一个月了。这个方法解决了它!谢谢!!! - user7906940

2
在Ubuntu上,Android Studio 1.5.1仍然会出现该问题,您可以通过更改Gradle的设置来解决它:
1)在app/build.gradle依赖项中将以下内容更改为:
compile 'com.android.support:design:23.2.0'

to:

compile 'com.android.support:design:23.1.0'

2) 重建项目

3) 刷新视图

祝好,

/ Angel


1
在 build.gradle 文件的 dependencies 中添加以下内容:
configurations.all {
    resolutionStrategy.eachDependency { DependencyResolveDetails details ->
        def requested = details.requested
        if (requested.group == "com.android.support") {
            if (!requested.name.startsWith("multidex")) {
                details.useVersion "27.+"
            }
        }
    }
}

这对我有用,我在Stack上找到了它,被称为“主题错误解决方案”: 主题错误-如何修复?


1
我遇到了同样的问题,因为需要更新,但当前更新失败。
尝试更改您所在的更新版本。默认是稳定版,但还有3个选项,其中Canary是最新且可能不稳定的版本。我选择从Dev频道检查更新,这比Canary版本更稳定。它解决了问题并且似乎运行良好。
要更改版本,请检查更新,然后单击弹出窗口上的更新链接,该弹出窗口显示您已经拥有最新版本。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接