Android Studio 3.1布局预览不显示某些布局的预览 [英] Android Studio 3.1 layout preview does not show preview for some layouts

查看:181
本文介绍了Android Studio 3.1布局预览不显示某些布局的预览的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

从今天早上开始,我开始遇到这个奇怪的问题。 Android Studio布局预览面板和设计视图没有显示我的某些布局,直到我将Android Studio从3.0.1更新为 3.1 为止。

Since today morning I started encountering this weird issue. Android Studio layout preview panel and Design view was not displaying some of my layouts which were perfectly fine until I updated Android Studio from 3.0.1 to 3.1.

我尝试了以下方法,但没有帮助:

I tried following which didn't helped :


  1. 将buildTools从27.0.2更新为27.0.3

  2. 将支持库从27.0.2更新到27.1.1

  3. 将约束布局库从1.1.0-beta5更新到1.1.0-beta6

  4. 多次用Gradle文件同步项目

  5. 多次清理并重建项目

  6. 无效并重新启动Android Studio

  7. 从文件菜单中关闭项目并重新打开它(我怀疑这是由于布局预览缓存的管理不当而未清除)

  8. 最后重新启动了我的电脑

  1. Updated buildTools from 27.0.2 to 27.0.3
  2. Updated support library from 27.0.2 to 27.1.1
  3. Updated constraint layout library from 1.1.0-beta5 to 1.1.0-beta6
  4. Synced Project with Gradle files multiple times
  5. Clean and Rebuilt project multiple times
  6. Invalidated and Restarted Android Studio
  7. Closed project from File menu and reopened it (I suspected it was due to some mismanagement of layout preview cache which was not getting cleared)
  8. Finally restarted my PC






Android Studio详细信息:


Android Studio details :


Android Studio 3.1
Build #AI-173.4670197, built on March 22, 2018
JRE: 1.8.0_152-release-1024-b02 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Windows 8.1 6.3


推荐答案

多次尝试失败后,将其提交给Android Studio错误跟踪器,然后再尝试一次。我发现这是由于缺少 +

After many failed attempts and submitting it to Android Studio bug tracker and giving it an another try. I found that it was due to a missing "+".

示例布局以演示该问题

<?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"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:id="@+id/rightTextView"
        style="@style/Base.TextAppearance.AppCompat.Medium"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginStart="24dp"
        android:padding="12dp"
        android:text="This is a sample TextView at Right"
        app:layout_constraintStart_toEndOf="@+id/leftTextView" />

    <TextView
        android:id="@id/leftTextView"
        style="@style/Base.TextAppearance.AppCompat.Large"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="12dp"
        android:text="Left"
        android:textColor="@color/colorAccent" />

</android.support.constraint.ConstraintLayout>

问题是由于leftTextView id声明中缺少 + 引起的。
更改行后(第18行)

The issue was because of a missing + in leftTextView id declaration. After changing the line (line no. 18)


android:id = @ id / leftTextView

android:id="@id/leftTextView"


android:id = @ + id / leftTextView

android:id="@+id/leftTextView"

Android Studio布局预览面板开始显示布局。

Android Studio layout preview panel started displaying the layout.

注意:
我通常只在布局文件首次出现时声明一次视图ID(即 @ + id )(无论是哪种声明)或参考),并且到目前为止没有布局预览或运行应用的问题

Note : I always used to declare view ids (i.e., "@+id") only once in a layout file at its first occurrence(either declaration or reference) and there was no issue with layout preview or running the App till now

这篇关于Android Studio 3.1布局预览不显示某些布局的预览的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆