Bu görüş kısıtlı değil


96

Aşağıdaki hatayı alıyorum ve Android studio 2.2 Preview 3 kullanıyorum. Google'da arama yaptım ancak herhangi bir kaynak bulamadım.

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

görüntü açıklamasını buraya girin

<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" />

Yanıtlar:


154

Bunu hızlı bir şekilde çözmek için Android Studio'daki şu çok yararlı kısayolu kullanın:

Söz konusu widget'ı sağ tıklayın> Kısıtlama Düzeni> Kısıtlamaları Çıkarın:

görüntü açıklamasını buraya girin

Daha sonra, kısıtlamaları burada açıklandığı gibi değiştirebilirsiniz: https://stackoverflow.com/a/37960888/5556250

Güncelleme

Bu, Android Studio v3 ve sonraki sürümler için doğru değildir. Gereğince purpleladydragons yorumuna @ :

"Sınırlama Düzeni" açılır menüde yok. Tasarım önizlemesinin yukarısındaki araç çubuğu menüsünde bulunan sihirli değnek simgesini kullanın; "Kısıtlamalar Çıkar" düğmesi var.


2
Çözümünüz için çok teşekkürler, tamamen yeni başlayan biriyim, widget konumunda neyin yanlış olduğu hakkında hiçbir fikrim yoktu
Atul Chavan

2
Harika bir çözüm, Android Studio'nun çalışma zamanı pozisyonları yerine başlangıçtan itibaren pozisyonları saklamasını diliyorum. Daha iyi bir soru, Google'ın neden yalnızca çalışma sırasında konumu depolamanın iyi bir fikir olduğunu düşündüğüdür. Bu, geliştiricilerin pozisyonu anlamalarını sağlamak için gereksiz bir adımdır.
Antony

Çok teşekkürler! Çok yardımcı oldu
Paul

24
Android Studio 3.0 kullanıyorum - Bir widget'ı sağ tıkladığımda açılır menüde "Kısıtlama Düzeni" yoktu. Tasarım önizlemesinin üzerindeki araç çubuğu menüsünde sihirli değneğe benzeyen bir simge olduğunu fark ettim, bu aynı zamanda bir "Kısıtlamalar Çıkar" düğmesi.
purpleladydragons

çözüm artık Android Studio Sürüm 3 veya sonraki sürümlerde bulunamıyor
Mohammad Heydari

75

Çözüm

Sadece buna tıklayın ve çözülecektir


Bu araç çubuğunu o düğmeyle görmüyorum. Nasıl bulabilirim?
i_am_david

Android Studio'nun farklı bir sürümünü mü kullanıyorsunuz bilmiyorum. Lütfen şu düğmeyi kontrol edin, orada bir yerde olmalı.
Cem U

12

Yeni düzen düzenleyiciyi kullanırken kısıtlamalara manuel olarak bir değer vermeniz gerekir veya eksik kısıtlamalar tasarım önizlemesinin araç çubuğu menüsündeki sihirli değnek düğmesine tıklanarak otomatik olarak eklenebilir.


11

şunu deneyebilirsiniz: 1. eklediğinizden emin olun: compile 'com.android.support:design:25.3.1' (belki de 'com.android.support.constraint: constraint-layout: 1.0.2' derlemesini eklemelisiniz ) 2.görüntü açıklamasını buraya girin

3. Sonuç Kısıtlamaları'na tıklayın , umarım size yardımcı olabilir


7

Pekala, bu cevabın eski olduğunu biliyorum, ancak 3.1.4 sürümü için bunu nasıl yapacağımı öğrendim. Bu yüzden benim için bu hata hiyerarşiye yeni bir öğe eklediğimde ortaya çıkıyor, bu yüzden bir çözüme ihtiyacım olduğunu biliyordum. Biraz uğraştıktan sonra, şu adımları izleyerek nasıl yapılacağını buldum:

  1. Nesneye sağ tıklayın ve Ortaya gidin.

Aşama 1

  1. Ardından Yatay olarak seçin.

Adım 2

  1. Yatay yerine Dikey olarak tıklaması dışında bu adımları tekrarlayın.

Bu yöntemin hala işe yaraması koşuluyla, ikinci adımdan sonra öğenin bulunduğu yerde yatay olarak ve üçüncü adımdan sonra hem yatay hem de dikey olarak dalgalı çizgiler görmelisiniz. Üçüncü adımdan sonra hata ortadan kalkar!


6

Sağ tıklayın, ardından bu bileşen üzerinde hata aldığınız parçayı tasarlayın ve aşağıdaki adımları izleyin:

  • [ör. Düz Metinde hata oluşursa]

[1]

Düz Metin Kısıtlama Düzeni> Kısıtlamaları Çıkar:

sonunda hata gitti


6

Widget'ı sağ tıklayın ve "orta" -> "yatay olarak" seçeneğini seçin. Ardından "merkez" -> "dikey" seçeneğini seçin.


6

Android Studio v3 ve sonraki sürümlerde, Infer Constraint açılır menüden kaldırıldı.

Tasarım önizlemesinin yukarısındaki araç çubuğu menüsünde bulunan sihirli değnek simgesini kullanın ; " Kısıtlamalar Çıkar " düğmesi var. Bu düğmeye tıklayın, bu otomatik olarak metin alanına bazı satırlar ekleyecek ve kırmızı çizgi kaldırılacaktır.

görüntü açıklamasını buraya girin


4

Widget'ı sağ tıklayıp "merkez" -> "yatay olarak" seçeneğini seçip tekrar yapmanız ve ardından -> "dikey olarak" seçeneğini seçmeniz yeterli Bu benim için çalıştı ...


0

Eğer gidebilirsiniz XML fileardından basın, kendi düzeni için seçim ne olursa olsun düğme, metin görünümünde veya içine daha sonra farenizi odak imleç Alt + Enterhatası benim için gone.it çalışmaları olacak bundan sonra, bunu düzeltmek için.


0

Kısıtlamaları anlamak için sihirli değnek simgesine tıkladıktan sonra:

1) Projeler penceresinde Gradle Scripts> build.gradle'a gidin (Modül: app)

2) Bağımlılıklara ilerleyin

3) 'com.android.support:appcompat-v7:28.0.0-beta03' uygulamasını arayın

4) Bu satırı "com.android.support:appcompat-v7:28.0.0-alpha1" uygulaması olarak değiştirin

5) Pencerenin üst kısmında bir başlık açılmalıdır, sağ köşedeki Şimdi Senkronize Et'i tıklayın.

Bu, Android Studio v3.1 için çalışır , build.gradle dosyasına düzenleme görüntüsü için tıklayın


0

Bir düzen oluştururken, hepsini aynı anda eklemek yerine, bir seferde tek bir denetimle çalışmak daha kolaydır.

Layouts Palette'den bir ConstraintLayout'u ekrana sürükleyin.

İstediğiniz kontrolleri ConstraintLayout içinde hareket ettirin.

Dolayısıyla, ConstraintLayout artık denetimin ebeveynleri olacak ve xml koduna geçerseniz, denetimler ConstraintLayout altında yuvalanacaktır.

Kontrolünüze sağ tıklayın, menüden Kısıtlama'yı seçin ve bunu ana Kısıtlama Düzeni, üst, başlangıç ​​vb. İle nasıl hizalamak istediğinizi seçin.

İki kontrolü birbirine göre hizalamanız gerekiyorsa, Ctrl tuşuyla her iki kontrolü aynı anda seçin ve ardından kısıtlama menüsünü açmak için sağ tıklayın.

Daha fazla bilgi: https://developer.android.com/training/constraint-layout

görüntü açıklamasını buraya girin

görüntü açıklamasını buraya girin Sınırlama Düzeni sekmesinde sınırlama ayırma mesafesini belirtebilirsiniz:

görüntü açıklamasını buraya girin

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.