Layout Editor: vad är det, Android Studio och att skapa layouter

Författare: IT Sectr Publicerad: 2026-02-12 Lästid: 10 min

Layout Editor — en visuell redigerare för XML-layouter i Android Studio som gör det möjligt att skapa gränssnitt för Android-appar utan att skriva kod manuellt. Vi går igenom vad det är, hur man arbetar med ConstraintLayout och LinearLayout, använder komponentpaletten och konfigurerar attribut via Properties Panel.

Huvudpunkter

  • Layout Editor — ett visuellt gränssnitt för att skapa XML-layouter för Android i Android Studio med Drag-and-Drop och förhandsgranskning i realtid
  • ConstraintLayout — grundläggande layout som skapar en platt hierarki med flexibla begränsningar (constraints) mellan element
  • LinearLayout — en behållare för linjär placering av widgets horisontellt eller vertikalt med weight-fördelning
  • Blueprint och Design — två visningslägen: schema med constraints och visuell förhandsgranskning av layouten
  • Properties Panel — panel för att konfigurera alla attribut för vald komponent utan att växla till XML

Vad är Layout Editor?

Layout Editor — ett inbyggt verktyg i Android Studio för visuell design av användargränssnitt för Android-appar. Det öppnas när du dubbelklickar på en XML-fil för layout i mappen res/layout/ och är tillgängligt via den nedre panelen för växling mellan flikarna Code, Design och Split. Utvecklaren kan dra komponenter från paletten till arbetsytan, konfigurera deras egenskaper och se ändringarna i realtid.

Verktyget stöder två lägen för visning: Design (visuell arbetsyta med verklig rendering av widgets) och Blueprint (schematisk representation med constraints och gränser). Split-läget visar XML-kod och visuell arbetsyta samtidigt. Växlingen mellan dem görs med knappar i det övre vänstra hörnet av redigeraren.

Layout Editor genererar automatiskt XML-kod för varje användaråtgärd: att lägga till ett element, konfigurera marginaler, skapa en constraint. Detta gör att utvecklaren inte behöver komma ihåg dussintals XML-attribut och kan fokusera på det visuella resultatet. Den genererade koden kan alltid redigeras manuellt på fliken Code.

LägeBeskrivningTangentbordsgenväg
DesignVisuell arbetsyta med verkliga komponenterShift + D
BlueprintSchema med constraints och gränserShift + B
SplitXML-kod och arbetsyta samtidigtShift + S

Huvudzoner i Layout Editor

Gränssnittet i Layout Editor är uppdelat i fyra zoner: Palette (komponentpalett), Component Tree (komponentträd), Design Surface (arbetsyta för design) och Properties Panel (egenskapspanel). Palette innehåller alla tillgängliga widgets från Android SDK, grupperade i kategorier: Widgets, Text, Buttons, Containers och andra. Component Tree visar layoutens hierarki som ett träd, vilket gör det möjligt att dra element mellan behållare.

Design Surface — den centrala delen av redigeraren där layouten visas. På arbetsytan kan du välja element, flytta dem, ändra storlek och skapa constraints. Längst ner på arbetsytan finns en växling för enheter och orientering för förhandsgranskning av layouten på olika skärmar. Layout Editor stöder förhandsgranskning på flera virtuella enheter Nexus, Pixel och Samsung.

Properties Panel visar attributen för det valda elementet: layout_width, layout_height, marginaler (margin), inre marginaler (padding), gravitation och alla specifika attribut som textSize för TextView. Varje ändring i Properties Panel återspeglas omedelbart på arbetsytan och genererar motsvarande XML-kod.

I det övre vänstra hörnet av redigeraren finns kontrollknappar: val av visningsläge, aktivering av automatisk anslutning av constraints (Autoconnect), visning av constraints som linjer och växling mellan virtuella enheter. Knappen «Device for Preview» låter dig välja en smartphone, surfplatta eller Android TV-modell för att kontrollera anpassningsförmågan.

ConstraintLayout: flexibel positionering

ConstraintLayout — den huvudsakliga layouten som Google rekommenderar för alla nya Android-projekt. Till skillnad från nästlade LinearLayout skapar ConstraintLayout en platt hierarki där varje element är kopplat till föräldern, andra element eller stödlinjer (guidelines). Detta minskar nästlingsdjupet och förbättrar renderingsprestandan.

Varje element i ConstraintLayout har sidobegränsningar: app:layout_constraintStart_toStartOf, app:layout_constraintEnd_toEndOf, app:layout_constraintTop_toTopOf, app:layout_constraintBottom_toBottomOf. Constraints kan kopplas till föräldern (parent) eller till ID:t för ett annat element. Den grundläggande XML-mallen ser ut så här:

xml



    

I detta exempel är TextView centrerad på alla fyra sidor i förhållande till föräldern. Storleken 0dp (match_constraint) innebär att bredden sträcker sig från vänster till höger constraint. Detta tillvägagångssätt gör det möjligt att skapa adaptiva layouter utan fasta storlekar.

ConstraintLayout stöder också Bias — förskjutning av elementets mittpunkt. Attributen layout_constraintHorizontal_bias och layout_constraintVertical_bias antar värden från 0 till 1, där 0.5 är mitten, 0 — tryckt mot början, 1 — mot slutet. Bias gör det möjligt att exakt positionera ett element mellan två constraints.

Ytterligare funktioner i ConstraintLayout: Guidelines (stödlinjer i procent eller dp), Barriers (barriärer som sammanfogar flera element) och Chains (kedjor av element med utrymmesfördelning). Alla dessa element skapas direkt i Layout Editor via snabbmenyn på arbetsytan.

LinearLayout: linjär placering

LinearLayout — en behållare som placerar underordnade element sekventiellt horisontellt (android:orientation="horizontal") eller vertikalt (android:orientation="vertical"). Det är den enklaste layouten att förstå, men den skapar en nästlad hierarki vid komplexa layouter, vilket kan minska prestandan.

Nyckelattributet för LinearLayout är weight (android:layout_weight). Det gör det möjligt att fördela ledigt utrymme mellan element proportionellt enligt angivna värden. Om du ställer in weight="1" på två knappar tar de lika stor bredd. Ett element med weight="2" får dubbelt så mycket utrymme som ett med weight="1". Exempel på XML med LinearLayout:

xml


    

    

    

I detta exempel får EditText layout_weight="1" och tar upp allt ledigt utrymme mellan labelName och btnSubmit. layout_width="0dp" anger att bredden på EditText helt bestäms av weight. Utan weight skulle du behöva ställa in en fast bredd som inte anpassar sig till olika skärmar.

Viktiga egenskaper hos LinearLayout: android:gravity styr justeringen av innehållet inuti behållaren, medan android:layout_gravity — justeringen av själva behållaren i förhållande till föräldern. LinearLayout med nästlade LinearLayout är en vanlig orsak till djup nästling, därför rekommenderar Google att ersätta sådana konstruktioner med ConstraintLayout.

XML-kod: layoutens struktur inifrån

Varje Android-layout är en XML-fil i mappen res/layout/. Layout Editor genererar denna fil automatiskt, men förståelse av dess struktur är nödvändig för manuell optimering. Rotelementet bestämmer typen av behållare (ConstraintLayout, LinearLayout, FrameLayout), inuti vilken underordnade widgets placeras.

Den grundläggande XML-mallen med ConstraintLayout innehåller deklaration av namnområdena xmlns:android och xmlns:app. Namnområdet app används för attribut från ConstraintLayout-biblioteket, såsom layout_constraintStart_toStartOf. Varje element rekommenderas att ges android:id för referenser från andra element och från koden i Activity eller Fragment.

Exempel på ett layoutfragment med flera element och constraints:

xml


    

    

    

I denna layout är ImageView kopplad till förälderns övre del och centrerad horisontellt. TextView är kopplad till den nedre kanten av ImageView (Top_toBottomOf). Button är placerad under TextView. Denna kedja av constraints skapar en sekventiell struktur utan nästlade LinearLayout.

Layout Editor gör det möjligt att växla mellan visuell och textbaserad representation via flikarna Design / Code / Split. I Split-läget återspeglas ändringar i XML omedelbart på arbetsytan och vice versa. Detta är särskilt användbart vid finjustering av attribut som inte har visuell kontroll på arbetsytan.

Komponentpalett och Properties Panel

Palette (palett) — den vänstra panelen i Layout Editor som innehåller alla tillgängliga UI-komponenter: TextView, Button, ImageView, EditText, ProgressBar, RecyclerView och andra. Komponenterna är grupperade i kategorier: Widgets, Text, Buttons, Containers, Transitions, Advanced. För att lägga till en komponent på arbetsytan dra den bara från paletten till Design Surface.

Properties Panel (höger panel) visar alla attribut för det valda elementet. Panelen är uppdelad i sektioner: Id (identifierare), Layout (storlekar och marginaler), Transform (rotation och skala), Text (innehåll för TextView), Padding and Margin. För varje attribut finns en rullgardinsmeny med alternativ: wrap_content, match_parent, match_constraint (0dp).

En speciell funktion i Properties Panel är den visuella marginalredigeraren (padding och margin) med grafisk representation. Klicka på siffran bredvid motsvarande pil för att ändra marginalen med en reglage. Layout Editor normaliserar automatiskt marginaler: om alla fyra marginaler är lika används attributet android:layout_margin, annars — individuella android:layout_marginStart, android:layout_marginTop och så vidare.

För redigering av Constraint-attribut finns en särskild sektion Constraints i Properties Panel. Här visas alla bindningar för elementet: till vilken sida av föräldern eller ett annat element varje kant är kopplad. Du kan ändra bindningstyp, lägga till eller ta bort en constraint. En constraint kan också tas bort genom att klicka på motsvarande linje på arbetsytan i Blueprint-läget.

KategoriKomponenterExempel på attribut
WidgetsTextView, ImageView, ProgressBartextSize, src, max
TextEditText, AutoCompleteTextViewhint, inputType, imeOptions
ButtonsButton, ImageButton, ToggleButtontext, onClick, backgroundTint
ContainersCardView, ScrollView, RecyclerViewcardCornerRadius, clipToPadding
AdvancedWebView, MapView, VideoViewloadUrl, zOrderOnTop

Skapa adaptiva layouter

En adaptiv layout är en layout som visas korrekt på olika skärmstorlekar: från kompakta telefoner (320dp) till stora surfplattor (600dp+) och vikbara enheter. Layout Editor tillhandahåller flera verktyg för att kontrollera och skapa adaptiva gränssnitt.

Det första verktyget är Device for Preview i verktygsfältet. Rullgardinslistan innehåller populära enheter: Pixel 6, Pixel 9, Samsung Galaxy S25, Nexus 7, Nexus 9, Pixel C och andra. Du kan lägga till en anpassad enhet med valfri skärmstorlek och pixeldensitet (dpi). Växling mellan enheter tar en sekund och visar hur layouten ser ut på varje skärm.

Det andra verktyget är storlekskvalificerare (qualifiers) för att skapa alternativa layouter. I Layout Editor kan du skapa flera versioner av en XML-fil för olika skärmstorlekar, orientering eller densitet. Till exempel filen activity_main.xml för telefonen och activity_main-sw600dp.xml för surfplattan. Layout Editor visar automatiskt förhandsgranskning för den aktiva kvalificeraren.

Det tredje tillvägagångssättet är ConstraintLayout med Guidelines i procent. Stödlinjer med attributet app:layout_constraintGuide_percent gör det möjligt att binda element till procentuella positioner. Till exempel delar en guideline på 50% skärmen på mitten oavsett enhetens storlek. Detta är det mest flexibla sättet att skapa adaptiva layouter utan att duplicera XML-filer.

Layout Editor visar också varningar om anpassningsproblem: gula trianglar på element med fast bredd, för stora bilder eller icke-optimal nästling. Utvecklaren kan klicka på varningen och få en rekommendation för åtgärd.

Optimering av XML-layouter

Optimering av layouter påverkar direkt renderingshastigheten och applikationens smidighet. Layout Editor hjälper till att upptäcka problem genom den inbyggda Layout Inspector och varningar i panelen Problems. Grundläggande optimeringsregler: minimera nästling, använd ConstraintLayout istället för nästlade LinearLayout, välj rätt storleksattribut.

Nästlingsdjup — prestandans främsta fiende. Varje nästlad behållare ökar tiden för mätning och rendering. Verktyget Hierarchy View i Android Studio visar layoutträdet. Om djupet överstiger 5–6 nivåer bör layouten omstruktureras. ConstraintLayout löser detta problem genom att ersätta 3–4 nästlingsnivåer med en enda platt behållare.

Rekommendationer för optimering av XML-layouter i Layout Editor:

  • Använd ConstraintLayout som rotbehållare istället för nästlade LinearLayout — det minskar hierarkidjupet och snabbar upp renderingen
  • Undvik layout_weight i LinearLayout vid stora listor — weight kräver dubbel mätning (two-pass layout)
  • Ta bort oanvända constraints via snabbmenyn Clear Constraints of Selection i Layout Editor
  • Använd ViewStub för sällan visade block — ViewStub skjuter upp inflateringen tills blocket blir synligt
  • Merge för återanvändbara komponenter — taggen merge eliminerar onödig behållare vid inkludering via include
  • Minska bildstorlekar och använd VectorDrawable istället för PNG för ikoner

Layout Inspector — ett verktyg i Android Studio för profilering av layouter under körning. Det visar den verkliga hierarkin, mätnings- och renderingstiden för varje komponent. Layout Editor är integrerad med Layout Inspector: dubbelklick på en varning öppnar motsvarande problem i en detaljerad rapport.

Vanliga frågor

Vad är Layout Editor i Android Studio?

Layout Editor — en visuell redigerare för XML-layouter inbyggd i Android Studio. Den gör det möjligt att skapa UI för Android-appar genom att dra komponenter till arbetsytan, konfigurera attribut via egenskapspanelen och se resultatet i realtid. Lägena Design, Blueprint och Split täcker alla faser av layoututveckling.

Vilken layout är bättre att använda: ConstraintLayout eller LinearLayout?

ConstraintLayout rekommenderas av Google för nya projekt tack vare den platta hierarkin och flexibla constraints. LinearLayout är bara motiverat för enkla linjära sektioner med 2–3 element utan nästling. I en layout kan du kombinera båda metoderna med ConstraintLayout som rotbehållare.

Hur lägger jag till en constraint i Layout Editor?

I Design-läget håller du muspekaren över cirkeln på elementets kant (för ConstraintLayout). Tryck på vänster musknapp och dra linjen till föräldern eller ett annat element tills den snäpper fast (snap). För numerisk justering av marginaler använder du Properties Panel, sektionen Constraints. Constraints skapas också automatiskt när Autoconnect är aktiverat.

Varför visar Layout Editor gula varningar?

Gula varningar indikerar potentiella problem: icke-optimal prestanda (djup nästling, fasta storlekar), saknad content description för tillgänglighet, hårdkodade strängar istället för resurser i strings.xml. Varje varning innehåller en rekommendation för åtgärd. Layout Editor markerar också element med problem i rött om felet är kritiskt.

Hur kontrollerar jag layouten på olika skärmar?

Använd rullgardinslistan Device for Preview i verktygsfältet i Layout Editor. Välj valfri enhet från listan eller lägg till en anpassad med valfria mått. För att kontrollera anpassningsförmågan skapar du alternativa layouter med kvalificerare (sw600dp, sw720dp) och växlar mellan dem via samma lista. Layout Inspector på en verklig enhet visar det slutliga resultatet.

Sammanfattning

  • Layout Editor — en visuell redigerare för XML-layouter i Android Studio med lägena Design, Blueprint och Split
  • ConstraintLayout — huvudbehållare med platt hierarki, constraints och stöd för Bias, Chains, Guidelines
  • LinearLayout — linjär placering av element med weight-fördelning, lämplig för enkla sektioner
  • Palette och Properties Panel — drag-and-drop av komponenter och visuell konfiguration av alla layoutattribut
  • Anpassningsförmåga — förhandsgranskning på olika enheter, kvalificerare och procentuella Guidelines
  • Optimering — minimera nästling, ConstraintLayout istället för nästlade LinearLayout, Layout Inspector
  • XML-kod genereras automatiskt och är tillgänglig för manuell redigering på fliken Code

Vi utvecklar en mobil applikation nyckelfärdigt

IT Sectr skapar iOS- och Android-applikationer för startups och företag sedan 2017. Vi ger dig råd och föreslår den bästa lösningen.

Diskutera projektet

Läs också