Android Studio 3.1布局预览不显示某些布局的预览 [英] Android Studio 3.1 layout preview does not show preview for some layouts
问题描述
从今天早上开始,我开始遇到这个奇怪的问题。 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 :
- 将buildTools从27.0.2更新为27.0.3
- 将支持库从27.0.2更新到27.1.1
- 将约束布局库从1.1.0-beta5更新到1.1.0-beta6
- 多次用Gradle文件同步项目
- 多次清理并重建项目
- 无效并重新启动Android Studio
- 从文件菜单中关闭项目并重新打开它(我怀疑这是由于布局预览缓存的管理不当而未清除)
- 最后重新启动了我的电脑
- Updated buildTools from 27.0.2 to 27.0.3
- Updated support library from 27.0.2 to 27.1.1
- Updated constraint layout library from 1.1.0-beta5 to 1.1.0-beta6
- Synced Project with Gradle files multiple times
- Clean and Rebuilt project multiple times
- Invalidated and Restarted Android Studio
- 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)
- 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屋!