J'ai commencé à utiliser Android Studio 2.2 et ConstraintLayout aujourd'hui, mais j'ai des problèmes avec le rendu. Lorsque vous utilisez le mode Blueprint, tout semble correct. Lorsque vous utilisez le mode Design, les objets sont bloqués en haut coin gauche tout écrasé.
Avertissement Android Studio: erreur onMeasure
Java.lang.NoSuchMethodError: Android.support.constraint.solver.widgets.ConstraintWidget.immediateConnect(Landroid/support/constraint/solver/widgets/ConstraintAnchor$Type;Landroid/support/constraint/solver/widgets/ConstraintWidget;Landroid/support/constraint/solver/widgets/ConstraintAnchor$Type;II)V
at Android.support.constraint.ConstraintLayout.setChildrenConstraints(ConstraintLayout.Java:517)
at Android.support.constraint.ConstraintLayout.updateHierarchy(ConstraintLayout.Java:433)
at Android.support.constraint.ConstraintLayout.onMeasure_Original(ConstraintLayout.Java:728)
at Android.support.constraint.ConstraintLayout.onMeasure(ConstraintLayout.Java)
at Android.view.View.measure(View.Java:19731)
at Android.view.ViewGroup.measureChildWithMargins(ViewGroup.Java:6120)
at Android.widget.FrameLayout.onMeasure(FrameLayout.Java:185)
at Android.view.View.measure(View.Java:19731)
at Android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.Java:715)
at Android.widget.RelativeLayout.onMeasure(RelativeLayout.Java:461)
at Android.view.View.measure(View.Java:19731)
at com.Android.layoutlib.bridge.impl.RenderSessionImpl.measureView(RenderSessionImpl.Java:545)
at com.Android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.Java:342)
at com.Android.layoutlib.bridge.Bridge.createSession(Bridge.Java:429)
at com.Android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.Java:389)
at com.Android.tools.idea.rendering.RenderTask$2.compute(RenderTask.Java:548)
at com.Android.tools.idea.rendering.RenderTask$2.compute(RenderTask.Java:533)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.Java:966)
at com.Android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.Java:533)
at com.Android.tools.idea.rendering.RenderTask.lambda$inflate$72(RenderTask.Java:659)
at Java.util.concurrent.FutureTask.run(FutureTask.Java:266)
at Java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.Java:1142)
at Java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.Java:617)
at Java.lang.Thread.run(Thread.Java:745)
La dépendance:
compile 'com.Android.support.constraint:constraint-layout:1.0.0-alpha8'
Est-ce une erreur insoluble dans Android Studio ou y a-t-il quelque chose de résoluble? Le SDK est mis à jour.
MODIFIER
Fichier 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:orientation="vertical" Android:layout_width="match_parent"
Android:layout_height="match_parent">
<ImageView
Android:src="@drawable/about"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:id="@+id/imageView6"
Android:layout_marginStart="16dp"
Android:layout_marginTop="16dp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent"
Android:layout_marginLeft="16dp" />
<TextView
Android:text="TextView"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:id="@+id/textView33"
Android:layout_marginStart="16dp"
Android:layout_marginTop="16dp"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintLeft_toRightOf="@+id/imageView6"
Android:layout_marginLeft="16dp" />
<TextView
Android:text="TextView"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:id="@+id/textView34"
app:layout_constraintRight_toRightOf="@+id/textView33"
Android:layout_marginTop="8dp"
app:layout_constraintTop_toBottomOf="@+id/textView33" />
</Android.support.constraint.ConstraintLayout>
comme mentionné ici Notes de mise à jour de la disposition des contraintes Alpha8
Remarque: en raison du changement d'API, vous devrez peut-être redémarrer Android Studio 2.2 après la mise à niveau vers alpha 8 pour que l'aperçu de la disposition fonctionne.
dans la barre de menus, sélectionnez file
et choisissez invalidate caches / restart