2016-06-14 21 views
47

Ho ricevuto il seguente errore e sto utilizzando Android Studio 2.2 Preview 3. Ho cercato su Google ma non ho trovato alcuna risorsa.Questa vista non è vincolata

Error: This view is not constrained, it only has design time positions, so it will jump to (0,0) unless you add constraints 

enter image description here

<TextView 
     android:layout_width="384dp" 
     android:layout_height="207dp" 
     android:textAppearance="?android:attr/textAppearanceLarge" 
     android:text="@string/calc_default_display" 
     android:id="@+id/textView" 
     android:background="#ffffff" 
     android:layout_margin="0dp" 
     android:gravity="bottom|end" 
     android:textSize="70sp" 
     android:nestedScrollingEnabled="false" 
     android:maxLines="2" 
     android:maxLength="17" 
     tools:layout_editor_absoluteX="0dp" 
     tools:layout_editor_absoluteY="0dp" /> 

risposta

3

È necessario dare un valore ai vincoli manualmente quando si utilizza il nuovo editor di layout o i vincoli mancanti possono essere aggiunti automaticamente facendo clic sul pulsante bacchetta magica nella barra degli strumenti menu dell'anteprima del design.

115

Per rapidamente risolvere questo problema, utilizzare questa scorciatoia molto utile per Android Studio:

destro del clic widget di-in-question> Constraint Layout> dedurre Vincoli:

enter image description here

Successivamente, è possibile modificare i vincoli come descritto qui: https://stackoverflow.com/a/37960888/5556250

Aggiornamento

Questo non è corretto per Android Studio v3 e versioni successive. Come da @purpleladydragons's comment:

"Constraint Layout" non è nel menu a discesa. Usa l'icona della bacchetta magica nel menu della barra degli strumenti sopra l'anteprima del disegno; c'è il pulsante "Infer Vincoli".

+2

Grazie mille per la vostra soluzione, io sono un principiante assoluto, non avevo idea di che cosa è stato sbagliato con la posizione widget di –

+1

grande soluzione anche se avrei voluto Android Studio memorizzerebbe semplicemente le posizioni dal get go, invece delle posizioni del tempo di esecuzione. Una domanda migliore è perché Google ha pensato che fosse una buona idea conservare la posizione solo durante l'esecuzione? Questo è un passaggio non necessario per fare in modo che gli sviluppatori facciano clic per inferire la posizione. – Antony

+0

Grazie mille! Molto utile – Paul

6

Right Click in poi la progettazione di parte su tale componente in cui si ha l'errore e procedere come segue:

  • [ad es. Se l'errore si verifica in testo normale]

[1]

Testo normale vincolo Layout> Infer Vincoli:

finalmente errore è andato

8

si può provare questo: 1. assicurati di aver aggiunto: compile 'com.android.support:design:25.3.1' (forse dovresti aggiungere anche compilazione 'com.android.support.constraint: vincolo di layout: 1.0.2') 2. enter image description here

3.click le Infer Vincoli, spero che ti può aiutare.

21

Solution

Basta fare clic su questo e sarà risolto

Problemi correlati