Android studiyasida ikki ko'rinish/widget orasida zanjir hosil qila olmaydi

Android studiyasida tartib tahrirlovchisini foydalanganda va EditText View va Button o'rtasida zanjir (ikki tomonlama cheklov) Ko'rish , cheklovlar anchorlarini foydalanib, zanjir qilmaydi.

Agar bir View ni boshqasiga taqiqlasam, faqat cheklovni amalga oshiradi.

Button ning chap tomoniga EditText o'ng tomonini zanjirlashga harakat qilaman.

Bu mening Layout Editor-ning o'xshashligi:

Layout Editor

39
android tutorial dahshatli. ular juda ko'p qadamlarni tashlab ketishadi, butlar tugmachalar ular deyishmaydi, ketma-ketliklari ular aytadigan so'zlari bilan ishlamaydi ... VAZIFANLIK. Kimdir o'qitishni qanday olib borishi haqida o'qitish kerak. Agar kimdir yaxshi alternativ topsa, iltimos.
qo'shib qo'ydi muallif segFaultCoder, manba
Xuddi shu muammo ham shu erda ... Siz ikkala ko'rinishni tanlagandan so'ng "gorizontal markazi" ni ishlatishingiz kerak. Balki bu versiya?
qo'shib qo'ydi muallif Adel Khial, manba

13 javoblar

Buni ham tushunishga harakat qilardim. Buning bir usuli - har ikki ko'rinishni tanlash, keyin o'ng tugmasini bosib, Horizontal markazi tanlash. Bu zanjirni yaratadi, lekin keyinchalik boshqa cheklashlarni moslashtirish kerak. Men Android uchun yangi, shuning uchun boshqa yo'llar borligiga aminman ....

14
qo'shib qo'ydi

I had the same issue. Solved it by going in into the xml as instructed by the tutorial: https://developer.android.com/training/basics/firstapp/building-ui.html

O'quv qo'llanmasida "Oxirgi laymani XML-ga qarang" ni bosing va solishtiring. Mening xml yo'qolgan:

app:layout_constraintLeft_toRightOf="@+id/editText"
11
qo'shib qo'ydi

Android Studio 3.0.1 versiyasida ikkita moslamani (XML dizayni ko'rinishida) tanlang va ulardan birini o'ngga bosing va siz "zanjir" variantini ikkita variantga egasiz: biri gorizontal va zanjirning zanjiriga vertikal ravishda.

enter image description here

4
qo'shib qo'ydi

Men yechim topdim, ehtimol, kimdir chindan ham to'g'ri javob berguniga qadar eng yaxshi ish emas. Umid qilamanki, bu menga o'xshash joyga yopishtirilgan boshqa kishilarga yordam beradi, shuning uchun siz doimiy ishni davom ettira olasiz.

Android do'koni interfeysi zanjir hosil qilish uchun to'g'ri ishlamayotganiga o'xshaydi. Bu yerdagi odamlarning ayrim variantlari 2 yoki 3 element kabi ishlaydi, ammo menda 5 ta element bor.

Demak, javob bu xml kodi bilan hal qilinadi.

vertikal bo'lsangiz, faqat yuqoriga/pastga o'ngga/chapga o`zgartirish uchun mening qadamlarim Landshaft tartibida

Men barcha elementlarni xohlagan joyga qo'ydim va barcha ulanishlarni olib tashladim. ( Menimcha, yuqorida va pastda bir-biriga ulanadi, shuning uchun ular o'rtada bo'lishi mumkin. )

Keyin chapdagi birinchi elementni va o'ngdagi so'nggi elementni ulayman. Va har bir elementning o'ng qismini keyingi elementning chap tomoniga ulang.

ilovasi: layout_constraintRight_toLeftOf = "@ id/right_element"

Elementlarning rasmlari oddiy, biroq zanjirlar ulanmagan

Keyin kodning ichiga kiraman va chap elementga qo'l bilan ulanishni qo'yaman.

ilovasi: layout_constraintLeft_toRightOf = "@ id/left_element"

And the chain was created. Image of elements connect with chain

Umid qilamanki bu yordam, rasmlarni joylashtirish uchun uzr so'rayman, menda XD yetarli emas.

3
qo'shib qo'ydi

Loyihaning rejasida zanjir ko'rinishini yaratishga qodir bo'lgan usul, ko'chirish tugmasini bosib, bog'lanadigan moslamalarni tanlang. So'ngra ular tanlangan holda o'ng tugmasini bosib, "markazi gorizontal" ni tanlasangiz, men buni keyinchalik boshqa cheklov va zanjir

1
qo'shib qo'ydi

Android studio ui tahrirlovchisini yaratish uchun ko'proq yaxshilanish kerak deb o'ylayman. Hozirda men Android Studio Preview 3.0 kanareykasini 3dan foydalanmoqdaman

Ba'zan muharrirdan juda yaxshi ishlaydi, lekin ba'zida ui-muharriridan emas, balki aloqani amalga oshirishda qo'llash kerak emas. Portret yoki gorizontal zanjir quyidagi cheklovlardir:

layout_constraintTop_toTopOf
layout_constraintTop_toBottomOf
layout_constraintBottom_toTopOf
layout_constraintBottom_toBottomOf
layout_constraintBaseline_toBaselineOf
layout_constraintStart_toEndOf
layout_constraintStart_toStartOf
layout_constraintEnd_toStartOf
layout_constraintEnd_toEndOf

va shuningdek, xml formatida qo'lda zanjir uslubini e'lon qilamiz

layout_constraintHorizontal_chainStyle yoki layout_constraintVertical_chainStyle

CHAIN_SPREAD -- the elements will be spread out (default style)

Weighted chain -- in CHAIN_SPREAD mode, if some widgets are set to MATCH_CONSTRAINT, they will split the available space

CHAIN_SPREAD_INSIDE -- similar, but the endpoints of the chain will not be spread out

CHAIN_PACKED -- the elements of the chain will be packed together. The horizontal or vertical bias attribute of the child will then affect the positioning of the packed elements

Bu android studiya muharriri buni yaxshilaydi

1
qo'shib qo'ydi

Ham tahrirdagi matnda (app: layout_constraintRight_toLeftOf = "@ id/tugmachasi") va tugmani (ilova: layout_constraintBaseline_toBaselineOf = "@ id/editText") cheklovlarni qo'shib hal qilindi

Quyida keltirilgan misol



<button
    android:id="@+id/button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Button"
    android:layout_marginRight="16dp"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintBaseline_toBaselineOf="@+id/editText"
    app:layout_constraintLeft_toRightOf="@+id/editText"
    android:layout_marginLeft="16dp" />
1
qo'shib qo'ydi

LOYIHALAR yorliqlariga juda moyil! Faqat dizayni qilishni xohlaysiz, lekin uni xml orqali yozing. O'qituvchilarning hojati yo'q, bu o'z-o'zidan tushunarli, barcha huquq va huquqlarni birlashtiradi!

0
qo'shib qo'ydi

O'quv qo'llanmasini o'qiyotganingizda, faqat bitta tugma Android Studio kunigacha ekanligiga ishonch hosil qilish. O'qituvchilarni o'qiyotganimda ba'zi tugmalar qayerda ekanligini bilib oldim, lekin eski versiyani ishlatganimni topdim.

Savolga ko'ra, eng yaxshisi Jeyms 6/6/17 tomonidan berilgan.

  1. ko'rinishga uchta tugma qo'shing
  2. Hammasini tanlang va o'ng tugmasini bosing
  3. "Markazi Horizontally" ni tanlang

Bu zanjirni yaratishga sabab bo'ladi

0
qo'shib qo'ydi

Men bundan oldin ham xuddi shunday muammolarga duch keldim, va men nimani aytsam, xuddi shu muammo bor.

O'qituvchi sizga android studio 3 versiyasidan foydalanishingizni kutadi. Men bu muammoni echganimda, mening Android studiyamning hali ham 2.2.3 ekanligini tushunib etdim. 3-versiya va sdk va boshqalar uchun yangilanishni o'rnatganingizdan so'ng u ishlagan.

Umid qilamanki bu yordam.

0
qo'shib qo'ydi

nima uchun men uchun muammo tug'dirdi -  mening rejalarimdan birini takrorladim (ishlarni tezlashtirish uchun yoki o'ylardim). Buni qilib, muammoga sabab bo'ldim - bir necha fikrlar bir xil android: id qiymatiga ega edi. bu katta no-no.

barcha ko'rinishga (Android'dagi o'zgarish id: ) yagona qiymat bu muammoni hal qilishga yordam berdi

0
qo'shib qo'ydi

Buni chizilgan rejimida zanjir yaratish yo'li bilan hal qildim. O'qituvchi hech qachon unga qaytmasligingizni aytmaydi, lekin agar qilsangiz zanjirni yaratasiz.

0
qo'shib qo'ydi
Buni qanday qildingiz? Men loyihaning rejasiman, lekin langlar bog'lanmagan (yashil rangda emas)
qo'shib qo'ydi muallif mukulg, manba

Men Autoconnect-ni ishga tushirib, men o'qituvchiga bo'ysunmagandim (chunki men hamma narsani sinab ko'rdim).

Men ikkala vidjetni tanladim va keyin Horizontally markazini tanladim. Zanjir yaratildi, men Autoconnect-ni o'chirib qo'ydim, keyinchalik darslikni davom ettirdim.

0
qo'shib qo'ydi