Layout Editor: bu nima, Android Studio va maketlar yaratish

Muallif: IT Sectr Nashr etilgan: 2026-02-12 O'qish vaqti: 10 daq

Layout Editor — Android Studio-dagi XML maketlarning vizual muharriri bo'lib, qo'lda kod yozmasdan Android ilovalari interfeyslarini yaratish imkonini beradi. Bu nima ekanligini, ConstraintLayout va LinearLayout bilan qanday ishlashni, komponentlar palitrasidan foydalanishni va Properties Panel orqali atributlarni sozlashni ko'rib chiqamiz.

Asosiy

  • Layout Editor — Android Studio-da Drag-and-Drop va real vaqtda oldindan ko'rish bilan Android XML maketlarini yaratish uchun vizual interfeys
  • ConstraintLayout — elementlar o'rtasida moslashuvchan bog'lanishlar (constraints) bilan tekis ierarxiya yaratadigan asosiy layout
  • LinearLayout — vidjetlarni gorizontal yoki vertikal chiziqli joylashtirish uchun weight-taqlsimotli konteyner
  • Blueprint va Design — ikki ko'rinish rejimi: constraintlar bilan sxema va maketning vizual oldindan ko'rinishi
  • Properties Panel — XML-ga o'tmasdan tanlangan komponentning barcha atributlarini sozlash paneli

Layout Editor nima?

Layout Editor — Android Studio-ga o'rnatilgan, Android ilovalarining foydalanuvchi interfeyslarini vizual loyihalash uchun vosita. U res/layout/ papkasidagi XML maket faylini ikki marta bosganda ochiladi va Code, Design va Split yorliqlari o'rtasida o'tish uchun pastki panel orqali mavjud. Dasturchi komponentlarni palitradan tuvalga sudrab olib, ularning xususiyatlarini sozlashi va o'zgarishlarni real vaqtda kuzatishi mumkin.

Vosita ikki rejimni qo'llab-quvvatlaydi: Design (vidjetlarning real ko'rinishi bilan vizual tuval) va Blueprint (constraintlar va chegaralar bilan sxematik tasvir). Split rejimi bir vaqtning o'zida XML kodini va vizual tuvalni ko'rsatadi. Ular o'rtasida o'tish muharrirning yuqori chap burchagidagi tugmalar orqali amalga oshiriladi.

Layout Editor har bir foydalanuvchi harakati uchun avtomatik ravishda XML kodini yaratadi: element qo'shish, marginlarni sozlash, constraint yaratish. Bu dasturchiga o'nlab XML atributlarini yodda saqlamaslikka va vizual natijaga e'tibor qaratishga imkon beradi. Yaratilgan kodni har doim Code yorlig'ida qo'lda tahrirlash mumkin.

RejimTavsifTezkor tugma
DesignHaqiqiy komponentlar bilan vizual tuvalShift + D
BlueprintConstraintlar va chegaralar bilan sxemaShift + B
SplitXML kodi va tuval bir vaqtdaShift + S

Layout Editor ning asosiy zonalari

Layout Editor interfeysi to'rt zonaga bo'lingan: Palette (komponentlar palitrasi), Component Tree (komponentlar daraxti), Design Surface (loyihalash uchun tuval) va Properties Panel (xususiyatlar paneli). Palette kategoriyalar bo'yicha guruhlangan barcha mavjud Android SDK vidjetlarini o'z ichiga oladi: Widgets, Text, Buttons, Containers va boshqalar. Component Tree maket ierarxiyasini daraxt shaklida ko'rsatadi, elementlarni konteynerlar o'rtasida sudrash imkonini beradi.

Design Surface — maket ko'rsatiladigan muharrirning markaziy qismi. Tuvall elementlarni tanlash, ularni ko'chirish, o'lchamlarini o'zgartirish va constraintlar yaratish mumkin. Tuvalning pastki qismida maketni turli ekranlarda oldindan ko'rish uchun qurilma va orientatsiya kaliti mavjud. Layout Editor ko'plab virtual Nexus, Pixel va Samsung qurilmalarida oldindan ko'rishni qo'llab-quvvatlaydi.

Properties Panel tanlangan elementning atributlarini ko'rsatadi: layout_width, layout_height, marginlar, padding, gravitatsiya va TextView uchun textSize kabi barcha o'ziga xos atributlar. Properties Panel-dagi har bir o'zgarish darhol tuvall aks etadi va tegishli XML kodini yaratadi.

Muharrirning yuqori chap burchagida boshqaruv tugmalari joylashgan: ko'rinish rejimini tanlash, constraintlarni avtomatik ulash (Autoconnect), constraintlarni chiziqlar shaklida ko'rsatish va virtual qurilmalar o'rtasida o'tish. «Device for Preview» tugmasi adaptivlikni tekshirish uchun smartfon, planshet yoki Android TV modelini tanlash imkonini beradi.

ConstraintLayout: moslashuvchan joylashtirish

ConstraintLayout — Google tomonidan barcha yangi Android loyihalari uchun tavsiya etiladigan asosiy layout. Ichma-ich LinearLayout-lardan farqli o'laroq, ConstraintLayout har bir element ota-onaga, boshqa elementlarga yoki yo'naltiruvchi chiziqlarga (guidelines) bog'langan tekis ierarxiya yaratadi. Bu ichma-ichlik chuqurligini kamaytiradi va renderlash samaradorligini oshiradi.

ConstraintLayout-dagi har bir element yon constraintlarga ega: app:layout_constraintStart_toStartOf, app:layout_constraintEnd_toEndOf, app:layout_constraintTop_toTopOf, app:layout_constraintBottom_toBottomOf. Constraintlar ota-onaga (parent) yoki boshqa elementning ID-siga bog'lanishi mumkin. Asosiy XML shabloni quyidagicha ko'rinadi:

xml



    

Ushbu misolda TextView ota-onaning barcha to'rt tomoniga nisbatan markazlashtirilgan. 0dp (match_constraint) o'lchami kenglikning chap constraintdan o'ng constraintgacha cho'zilishini anglatadi. Bunday yondashuv sobit o'lchamlarsiz adaptiv maketlar yaratish imkonini beradi.

ConstraintLayout shuningdek Bias — element markazining siljishini qo'llab-quvvatlaydi. layout_constraintHorizontal_bias va layout_constraintVertical_bias atributlari 0 dan 1 gacha qiymatlarni qabul qiladi, bu yerda 0.5 markaz, 0 boshiga, 1 oxiriga bosishdir. Bias ikki constraint o'rtasida elementni aniq joylashtirish imkonini beradi.

ConstraintLayout ning qo'shimcha imkoniyatlari: Guidelines (foiz yoki dp da yo'naltiruvchi chiziqlar), Barriers (bir nechta elementlarni birlashtiruvchi to'siqlar) va Chains (joy taqsimoti bilan element zanjirlari). Bu elementlarning barchasi to'g'ridan-to'g'ri Layout Editor-da tuvalda kontekst menyusi orqali yaratiladi.

LinearLayout: chiziqli joylashtirish

LinearLayout — bolavari elementlarni ketma-ket gorizontal (android:orientation="horizontal") yoki vertikal (android:orientation="vertical") joylashtiradigan konteyner. Bu tushunish uchun eng sodda layout, lekin murakkab maketlarda ichma-ich ierarxiya yaratadi, bu esa samaradorlikni pasaytirishi mumkin.

LinearLayout ning asosiy atributi weight (android:layout_weight) dir. U bo'sh joyni elementlar o'rtasida ko'rsatilgan qiymatlarga mutanosib ravishda taqsimlash imkonini beradi. Agar ikkita tugmaga weight="1" berilsa, ular teng kenglikni egallaydi. weight="2" bo'lgan element weight="1" bo'lgan elementdan ikki barobar ko'p joy oladi. LinearLayout bilan XML misoli:

xml


    

    

    

Ushbu misolda EditText layout_weight="1" oladi va labelName bilan btnSubmit o'rtasidagi barcha bo'sh joyni egallaydi. layout_width="0dp" EditText kengligi to'liq weight bilan aniqlanishini ko'rsatadi. Weightsiz sobit kenglikni o'rnatishga to'g'ri keladi, bu turli ekranlarga moslashmaydi.

LinearLayout ning muhim xususiyatlari: android:gravity konteyner ichidagi tarkibning tekislanishini boshqaradi, android:layout_gravity esa konteynerning o'zining ota-ona ichida tekislanishini boshqaradi. Ichma-ich LinearLayout-lar chuqur ichma-ichlikning keng tarqalgan sababidir, shuning uchun Google bunday konstruksiyalarni ConstraintLayout bilan almashtirishni tavsiya qiladi.

XML kodi: maketning ichki tuzilishi

Har bir Android maketi res/layout/ papkasidagi XML faylidir. Layout Editor bu faylni avtomatik yaratadi, lekin uning tuzilishini tushunish qo'lda optimallashtirish uchun zarur. Ildiz element konteyner turini aniqlaydi (ConstraintLayout, LinearLayout, FrameLayout), uning ichida bolavari vidjetlar joylashadi.

ConstraintLayout bilan asosiy XML shabloni xmlns:android va xmlns:app nom fazolarining deklaratsiyasini o'z ichiga oladi. App nom fazosi ConstraintLayout kutubxonasining atributlari uchun ishlatiladi, masalan layout_constraintStart_toStartOf. Har bir elementga boshqa elementlardan va Activity yoki Fragment kodidan murojaatlar uchun android:id berish tavsiya etiladi.

Bir nechta element va constraintlar bilan maket fragmentining namunasi:

xml


    

    

    

Ushbu maketda ImageView ota-onaning yuqori qismiga bog'langan va gorizontal markazlashtirilgan. TextView ImageView ning pastki chegarasiga bog'langan (Top_toBottomOf). Button TextView ostida joylashgan. Bu constraint zanjiri ichma-ich LinearLayout-larsiz ketma-ket strukturani yaratadi.

Layout Editor Design / Code / Split yorliqlari orqali vizual va matnli ko'rinish o'rtasida o'tish imkonini beradi. Split rejimida XML-dagi o'zgarishlar darhol tuvall aks etadi va aksincha. Bu, ayniqsa, tuvall vizual boshqaruvga ega bo'lmagan atributlarni nozik sozlashda qulay.

Komponentlar palitrasi va Properties Panel

Palette — Layout Editor ning chap paneli bo'lib, barcha mavjud UI komponentlarini o'z ichiga oladi: TextView, Button, ImageView, EditText, ProgressBar, RecyclerView va boshqalar. Komponentlar kategoriyalar bo'yicha guruhlangan: Widgets, Text, Buttons, Containers, Transitions, Advanced. Komponentni tuvall qo'shish uchun uni palitradan Design Surface-ga sudrab olib borish kifoya.

Properties Panel (o'ng panel) tanlangan elementning barcha atributlarini ko'rsatadi. Panel bo'limlarga bo'lingan: Id (identifikator), Layout (o'lchamlar va marginlar), Transform (aylantirish va masshtab), Text (TextView mazmuni), Padding and Margin. Har bir atribut uchun variantlari bilan ochiladigan menyu mavjud: wrap_content, match_parent, match_constraint (0dp).

Properties Panel ning xususiyati — vizual bo'shliq muharriri (padding va margin) grafik ko'rinish bilan. Tegishli strelka yonidagi raqamni bosish orqali, surgich yordamida bo'shliqni o'zgartirish mumkin. Layout Editor bo'shliqlarni avtomatik normallashtiradi: agar barcha to'rt bo'shliq bir xil bo'lsa, android:layout_margin atributi ishlatiladi, aks holda — individual android:layout_marginStart, android:layout_marginTop va h.k.

Constraint atributlarini tahrirlash uchun Properties Panel-da maxsus Constraints bo'limi mavjud. Bu yerda elementning barcha bog'lanishlari ko'rsatiladi: har bir chekka ota-onaning yoki boshqa elementning qaysi tomoniga bog'langan. Bog'lanish turini o'zgartirish, constraint qo'shish yoki o'chirish mumkin. Constraintni Blueprint rejimida tuvall tegishli chiziqni bosish orqali ham o'chirish mumkin.

KategoriyaKomponentlarNamuna atributlar
WidgetsTextView, ImageView, ProgressBartextSize, src, max
TextEditText, AutoCompleteTextViewhint, inputType, imeOptions
ButtonsButton, ImageButton, ToggleButtontext, onClick, backgroundTint
ContainersCardView, ScrollView, RecyclerViewcardCornerRadius, clipToPadding
AdvancedWebView, MapView, VideoViewloadUrl, zOrderOnTop

Adaptiv maketlar yaratish

Adaptiv maket — turli ekran o'lchamlarida to'g'ri ko'rsatiladigan maket: ixcham telefonlardan (320dp) katta planshetlargacha (600dp+) va buklanadigan qurilmalargacha. Layout Editor adaptiv interfeyslarni tekshirish va yaratish uchun bir nechta vositalarni taqdim etadi.

Birinchi vosita — asboblar panelidagi Device for Preview. Ochiladigan ro'yxat mashhur qurilmalarni o'z ichiga oladi: Pixel 6, Pixel 9, Samsung Galaxy S25, Nexus 7, Nexus 9, Pixel C va boshqalar. Ixtiyoriy ekran o'lchamlari va piksel zichligi (dpi) bilan maxsus qurilma qo'shilishi mumkin. Qurilmalar o'rtasida o'tish bir soniya davom etadi va maketning har bir ekranda qanday ko'rinishini ko'rsatadi.

Ikkinchi vosita — muqobil maketlar yaratish uchun o'lcham kvalifikatorlari (qualifiers). Layout Editor-da bir xil XML faylining turli ekran o'lchamlari, orientatsiya yoki zichlik uchun bir nechta versiyasini yaratish mumkin. Masalan, telefon uchun activity_main.xml fayli va planshet uchun activity_main-sw600dp.xml. Layout Editor faol kvalifikator uchun avtomatik oldindan ko'rishni ko'rsatadi.

Uchinchi yondashuv — foizlarda Guidelines bilan ConstraintLayout. app:layout_constraintGuide_percent atributiga ega yo'naltiruvchi chiziqlar elementlarni foiz pozitsiyalariga bog'lash imkonini beradi. Masalan, 50% guideline qurilma o'lchamidan qat'iy nazar ekranni yarmiga bo'ladi. Bu XML fayllarini takrorlamasdan adaptiv maketlar yaratishning eng moslashuvchan usulidir.

Layout Editor shuningdek adaptivlik muammolari haqida ogohlantirishlar ko'rsatadi: sobit kenglikdagi elementlarda, juda katta rasmlarda yoki optimal bo'lmagan ichma-ichlikda sariq uchburchaklar. Dasturchi ogohlantirishni bosib, tuzatish bo'yicha tavsiya olishi mumkin.

XML maketlarni optimallashtirish

Maketlarni optimallashtirish bevosita renderlash tezligiga va ilovaning silliq ishlashiga ta'sir qiladi. Layout Editor o'rnatilgan Layout Inspector va Problems panelidagi ogohlantirishlar orqali muammolarni aniqlashga yordam beradi. Asosiy optimallashtirish qoidalari: ichma-ichlikni minimallashtirish, ichma-ich LinearLayout-lar o'rniga ConstraintLayout ishlatish, o'lcham atributlarini to'g'ri tanlash.

Ichma-ichlik chuqurligi — samaradorlikning asosiy dushmani. Har bir ichma-ich konteyner o'lchash va chizish vaqtini oshiradi. Android Studio-dagi Hierarchy View vositasi maketlar daraxtini ko'rsatadi. Agar chuqurlik 5–6 darajadan oshsa, maketni qayta tuzish kerak. ConstraintLayout bu muammoni 3–4 darajali ichma-ichlikni bitta tekis konteyner bilan almashtirib hal qiladi.

Layout Editor-da XML maketlarni optimallashtirish bo'yicha tavsiyalar:

  • ConstraintLayout-dan ichma-ich LinearLayout-lar o'rniga ildiz konteyner sifatida foydalaning — bu ierarxiya chuqurligini kamaytiradi va renderlashni tezlashtiradi
  • Katta ro'yxatlarda LinearLayout-da layout_weight dan saqlaning — weight ikki marta o'lchash o'tishini talab qiladi (two-pass layout)
  • Ishlatilmaydigan constraintlarni olib tashlang Layout Editor-dagi Clear Constraints of Selection kontekst menyusi orqali
  • Kam ko'rsatiladigan bloklar uchun ViewStub dan foydalaning — ViewStub inflyatsiyani ko'rinish paytigacha keviktirib qo'yadi
  • Qayta ishlatiladigan komponentlar uchun Merge — merge tegi include orqali qo'shganda ortiqcha konteynerni yo'q qiladi
  • Rasmlar hajmini kamaytiring va ikonkalar uchun PNG o'rniga VectorDrawable ishlating

Layout Inspector — ilovaning bajarilishi vaqtida maketlarni profillash uchun Android Studio vositasi. U real ierarxiyani, har bir komponentning o'lchash va chizish vaqtini ko'rsatadi. Layout Editor Layout Inspector bilan integratsiyalashgan: ogohlantirishni ikki marta bosish tegishli muammoni batafsil hisobotda ochadi.

Tez-tez so'raladigan savollar

Android Studio-dagi Layout Editor nima?

Layout Editor — Android Studio-ga o'rnatilgan XML maketlarning vizual muharriri. U Android ilovalarining UI-ni komponentlarni tuvall sudrab, xususiyatlar paneli orqali atributlarni sozlab va natijani real vaqtda ko'rib yaratish imkonini beradi. Design, Blueprint va Split rejimlari maketni ishlab chiqishning barcha bosqichlarini qamrab oladi.

Qaysi layout yaxshiroq: ConstraintLayout yoki LinearLayout?

ConstraintLayout Google tomonidan tekis ierarxiya va moslashuvchan constraintlar tufayli yangi loyihalar uchun tavsiya etiladi. LinearLayout faqat ichma-ichliksiz 2–3 elementli oddiy chiziqli bo'limlar uchun oqlanadi. Bitta maketda ikkala yondashuvni birlashtirib, ConstraintLayout-ni ildiz konteyner sifatida ishlatish mumkin.

Layout Editor-da constraintni qanday qo'shish mumkin?

Design rejimida kursorni elementning chetidagi doiraga olib boring (ConstraintLayout uchun). Sichqonchaning chap tugmasini bosib ushlang va chiziqni ota-onaga yoki boshqa elementga snap paydo bo'lguncha torting. Marginlarni raqamli sozlash uchun Properties Panel, Constraints bo'limidan foydalaning. Constraintlar Autoconnect yoqilganda avtomatik ravishda ham yaratiladi.

Nega Layout Editor sariq ogohlantirishlar ko'rsatadi?

Sariq ogohlantirishlar potentsial muammolarni ko'rsatadi: optimal bo'lmagan samaradorlik (chuqur ichma-ichlik, sobit o'lchamlar), foydalanish imkoniyati uchun content description yo'qligi, strings.xml resurslari o'rniga qattiq kodlangan qatorlar. Har bir ogohlantirish tuzatish bo'yicha tavsiyani o'z ichiga oladi. Layout Editor shuningdek xato kritik bo'lsa, muammoli elementlarni qizil rang bilan ajratib ko'rsatadi.

Maketni turli ekranlarda qanday tekshirish mumkin?

Layout Editor asboblar panelidagi Device for Preview ochiladigan ro'yxatidan foydalaning. Ro'yxatdan istalgan qurilmani tanlang yoki ixtiyoriy o'lchamlar bilan maxsus qurilma qo'shing. Adaptivlikni tekshirish uchun kvalifikatorlar (sw600dp, sw720dp) bilan muqobil maketlar yarating va xuddi shu ro'yxat orqali ular o'rtasida o'ting. Haqiqiy qurilmadagi Layout Inspector yakuniy natijani ko'rsatadi.

Xulosa

  • Layout Editor — Android Studio-da Design, Blueprint va Split rejimlari bilan XML maketlarning vizual muharriri
  • ConstraintLayout — tekis ierarxiya, constraintlar va Bias, Chains, Guidelines qo'llab-quvvatlashi bilan asosiy konteyner
  • LinearLayout — weight taqsimoti bilan elementlarning chiziqli joylashtirilishi, oddiy bo'limlar uchun mos
  • Palette va Properties Panel — komponentlarni sudrab tashlash va barcha maket atributlarining vizual sozlamasi
  • Adaptivlik — turli qurilmalarda oldindan ko'rish, kvalifikatorlar va foizli Guidelines
  • Optimallashtirish — ichma-ichlikni minimallashtirish, ichma-ich LinearLayout-lar o'rniga ConstraintLayout, Layout Inspector
  • XML kodi avtomatik yaratiladi va Code yorlig'ida qo'lda tahrirlash uchun mavjud

Biz kalit topshirig'i bilan mobil ilovani ishlab chiqamiz

IT Sectr 2017-yildan beri startaplar va korxonalar uchun iOS va Android ilovalarini yaratadi. Biz sizga maslahat beramiz va eng yaxshi yechimni taklif qilamiz.

Loyihani muhokama qilish

Shuningdek o'qing