0

我刚刚安装了 Android Studio 3 Preview Canary 6。由于以下错误,我无法预览 activity_main.xml 中的 xml 布局:

  1. 渲染问题
  2. 无法实例化一个或多个类

当我安装 Canary 5 时也发生了这种情况。我认为升级到 Canary 6 可以解决这个问题,但事实并非如此。请帮我修复它,以便我可以开始构建我的应用程序。

我现在的情况

这是我的 XML:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.companyname.zooapp.MainActivity">

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Hello World!"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

</android.support.constraint.ConstraintLayout>
4

3 回答 3

0

您不应该在 StackOverflow 上发布 Android Studio 的 Canary 版本的错误。您应该在 android studio bugtracker 中收到这些类型的问题和帮助。

请注意,它被称为金丝雀版本,因为它充满了错误,而谷歌知道这一点,他们甚至知道错误并明确说明他们知道的错误是什么。

在此处查看版本和错误

于 2017-07-17T06:08:27.963 回答
0

首先确保您使用的是最新版本的 ConstraintLayout 依赖项。

只要正确编写了这些视图,预览部分就可以很好地加载自定义视图。您必须记住所有小细节,例如draw/onDraw/dispatchDraw方法、测量和布局、设置正确的主题、样式、提供 editMode 数据等。

问题是 Android Studio 有自己的 Context 和 Resources 类,它们无法执行某些操作。例如,这些类缺乏从资产文件夹中读取资产和从原始文件夹中读取原始资源的实现。

要加载自定义视图,您需要在 Android Studio 中无权访问的 assets 文件夹。因此,请确保您的自定义图标文件名是小写且具有正确的文件扩展名。

于 2017-07-17T06:11:07.223 回答
0

我从我询问的在线社区的答案中找到了解决我自己问题的方法。在 gradle 构建脚本中的依赖项下,应该使用 beta 1 或更低版本。当前版本的支持库 beta 2 有很多错误。像这样:

implementation 'com.android.support:appcompat-v7:26.0.0-beta1'
于 2017-07-17T09:50:16.683 回答