问题
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 :
- 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 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
回答1:
In my case, I did build and then clicked Force Refresh Layout started showing preview
Try whether this solves your issue,
回答2:
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 "+".
Sample layout to demonstrate the issue
<?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>
The issue was because of a missing + in leftTextView id declaration. After changing the line (line no. 18)
android:id="@id/leftTextView"
to
android:id="@+id/leftTextView"
Android Studio layout preview panel started displaying the layout.
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
回答3:
For Android Studio 3.1 Gradle version, with plugin version 28.0.0, add implementation 'com.android.support:appcompat-v7:28.0.0-alpha1'
instead of
implementation 'com.android.support:appcompat-v7:28.0.0-rc01'
.
来源:https://stackoverflow.com/questions/49707341/android-studio-3-1-layout-preview-does-not-show-preview-for-some-layouts