Araç özellikleri referansı (Görünümler)

Kavramlar ve Jetpack Compose uygulaması

Android Studio, tools ad alanında çeşitli XML özelliklerini destekler. Bu özellikler, tasarım zamanı özelliklerini (ör. bir parçada hangi düzenin gösterileceği) veya derleme zamanı davranışlarını (ör. XML kaynaklarınıza hangi küçültme modunun uygulanacağı) etkinleştirir. Uygulamanızı oluşturduğunuzda derleme araçları bu özellikleri kaldırır. Böylece APK boyutunuz veya çalışma zamanı davranışı etkilenmez.

Bu özellikleri kullanmak için, bunları kullanmak istediğiniz her XML dosyasının kök öğesine tools ad alanını ekleyin. Örneğin:

<RootTag xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" >

Hata işleme özellikleri

Aşağıdaki özellik, lint uyarı mesajlarının bastırılmasına yardımcı olur:

tools:targetApi

Amaçlanan kullanım: Herhangi bir öğe

Kullanım: Lint

Bu özellik, Java kodundaki @TargetApi ek açıklamasıyla aynı şekilde çalışır. Bu öğeyi destekleyen API düzeyini (tam sayı veya kod adı olarak) belirtmenize olanak tanır.

Bu, araçlara bu öğenin ve alt öğelerinin yalnızca belirtilen API düzeyinde veya daha yüksek bir düzeyde kullanıldığını düşündüğünüzü bildirir. Bu, lint'in, söz konusu öğe veya özelliklerinin minSdkVersion olarak belirttiğiniz API düzeyinde kullanılamaması durumunda sizi uyarmasını engeller.

Örneğin, GridLayout yalnızca API düzeyi 14 ve sonraki sürümlerde kullanılabildiği ancak bu düzenin daha düşük sürümlerde kodunuzda kullanılmadığını bildiğiniz için bu özelliği kullanabilirsiniz:

<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    tools:targetApi="14" >

(Ancak, destek kitaplığından GridLayout kullanmanızı önerdiğimizi unutmayın.)

Tasarım zamanı görünüm özellikleri

Aşağıdaki özellikler, yalnızca Android Studio düzen önizlemesinde görünen düzen özelliklerini tanımlar.

android: yerine tools:

Hedef kitle: <View>

Kullanıldığı yer: Android Studio düzen düzenleyicisi

Android çerçevesindeki herhangi bir <View> özelliğiyle android: yerine tools: önekini kullanarak düzen önizlemenize örnek veriler ekleyebilirsiniz. Bu, özelliğin değeri çalışma zamanına kadar doldurulmadığında ve düzen önizlemesinde efekti görmek istediğinizde yararlı olur.

Örneğin, android:text özelliği değeri çalışma zamanında ayarlanırsa veya düzeni varsayılandan farklı bir değerle görmek isterseniz yalnızca düzen önizlemesi için metin belirtmek üzere tools:text ekleyebilirsiniz.

tools:text özelliği, düzen önizlemesi için değer olarak Google Voice&#39;u ayarlar.
Şekil 1. tools:text özelliği, düzen önizlemesinin değeri olarak "Google Voice"ı ayarlar.

Hem çalışma zamanında kullanılan android: ad alanı özelliğini hem de yalnızca düzen önizlemesinde çalışma zamanı özelliğini geçersiz kılan eşleşen tools: özelliğini ekleyebilirsiniz.

Ayrıca, yalnızca düzen önizlemesi için bir özellik ayarını geri almak üzere tools: özelliğini de kullanabilirsiniz. Örneğin, iki alt öğesi olan bir FrameLayout öğeniz varsa ancak düzen önizlemesinde yalnızca bir alt öğeyi görmek istiyorsanız alt öğelerden birini düzen önizlemesinde görünmez olarak ayarlayabilirsiniz.

<Button
    android:id="@+id/button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="First" />

<Button
    android:id="@+id/button2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Second"
    tools:visibility="invisible"  />

Tasarım görünümünde Layout Editor'ı kullanırken Özellikler penceresi, tasarım zamanı görünüm özelliklerinden bazılarını düzenlemenize olanak tanır. Her tasarım zamanı özelliği, aynı ada sahip gerçek özellikten ayırt etmek için özellik adının yanındaki anahtar simgesi Anahtar simgesi ile gösterilir.

tools:context

Amaçlanan hedef: Herhangi bir kök <View>

Kullanıldığı yerler: Lint, Android Studio Layout Editor

Bu özellik, düzenin varsayılan olarak hangi etkinlikle ilişkilendirildiğini bildirir. Bu, düzen temasının önizlemede ne olduğu ve hızlı düzeltmeden oluşturulan onClick işleyicilerinin nereye ekleneceği gibi, etkinlikle ilgili bilgi gerektiren düzenleyici veya düzen önizlemesindeki özellikleri etkinleştirir (Şekil 2'de gösterildiği gibi).

onClick özelliği için Quickfix, yalnızca tools:context ayarını yaptıysanız çalışır.
Şekil 2. onClick özelliği için hızlı düzeltme yalnızca tools:context değerini ayarladıysanız çalışır.

Etkinlik sınıfı adını, manifest dosyasındakiyle aynı nokta ön ekini kullanarak belirtebilirsiniz (tam paket adı hariç).

Örneğin:

<android.support.constraint.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    tools:context=".MainActivity" >

tools:itemCount

Hedef kitle: <RecyclerView>

Kullanıldığı yer: Android Studio Layout Editor

Bu özellik, belirli bir RecyclerView için Layout Editor'ın Önizleme penceresinde oluşturması gereken öğe sayısını belirtir.

Örneğin:

<androidx.recyclerview.widget.RecyclerView
    android:id="@+id/recyclerView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:itemCount="3"/>

tools:layout

Hedef kitle: <fragment>

Kullanıldığı yer: Android Studio Layout Editor

Bu özellik, düzen önizlemesi normalde düzeni uygulayan etkinlik kodunu yürütemediği için düzen önizlemesinin hangi düzenin içine çizilmesini istediğinizi bildirir.

Örneğin:

<fragment android:name="com.example.main.ItemListFragment"
    tools:layout="@layout/list_content" />

tools:listitem, tools:listheader, tools:listfooter

Amaçlanan kullanım: <AdapterView> (ve <ListView> gibi alt sınıflar)

Kullanıldığı yer: Android Studio Layout Editor

Bu özellikler, bir listenin öğeleri, başlığı ve altbilgisi için düzen önizlemesinde hangi düzenin gösterileceğini belirtir. Düzendeki tüm veri alanları, liste öğelerinin tekrarlanmaması için "Öğe 1" gibi sayısal içeriklerle doldurulur.

Örneğin:

<ListView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@android:id/list"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:listitem="@layout/sample_list_item"
    tools:listheader="@layout/sample_list_header"
    tools:listfooter="@layout/sample_list_footer" />

tools:showIn

Amaç: Bir <include> tarafından başvurulan düzendeki herhangi bir kök <View>

Kullanıldığı yer: Android Studio Layout Editor

Bu özellik, <include> kullanarak bu düzeni kullanan bir düzene işaret etmenize olanak tanır. Böylece, bu dosyayı üst yerleşime yerleştirilmiş gibi görünürken önizleyebilir ve düzenleyebilirsiniz.

Örneğin:

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:text="@string/hello_world"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    tools:showIn="@layout/activity_main" />

Düzen önizlemesi artık bu TextView düzenini, activity_main düzeninin içinde göründüğü şekilde gösteriyor.

tools:menu

Amaçlanan hedef: Herhangi bir kök <View>

Kullanıldığı yer: Android Studio Layout Editor

Bu özellik, düzen önizlemesinin uygulama çubuğunda hangi menüyü göstereceğini belirtir. Değer, virgülle ayrılmış bir veya daha fazla menü kimliğidir. @menu/ veya benzeri bir kimlik öneki ve .xml uzantısı içermez.

Örneğin:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:menu="menu1,menu2" />

tools:minValue, tools:maxValue

Hedef kitle: <NumberPicker>

Kullanıldığı yer: Android Studio Layout Editor

Bu özellikler, NumberPicker görünümü için minimum ve maksimum değerleri belirler.

Örneğin:

<NumberPicker xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/numberPicker"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    tools:minValue="0"
    tools:maxValue="10" />

tools:openDrawer

Hedef kitle: <DrawerLayout>

Kullanıldığı yer: Android Studio Layout Editor

Bu özellik, önizlemede DrawerLayout açmanıza olanak tanır.

Ayrıca, aşağıdaki değerlerden birini ileterek Layout Editor'ın düzeni nasıl oluşturduğunu da değiştirebilirsiniz:

Tablo 1. Layout Editor'ın DrawerLayout öğesini nasıl oluşturduğunu değiştirecek değerler

SabitDeğerAçıklama
end800005Nesneyi, boyutunu değiştirmeden kapsayıcısının sonuna iter.
left3Nesneyi, boyutunu değiştirmeden kapsayıcısının soluna iter.
right5Nesneyi kapsayıcısının sağ tarafına iter ve boyutunu değiştirmez.
start800003Nesneyi, boyutunu değiştirmeden kapsayıcısının başına iter.

Örneğin:

<androidx.drawerlayout.widget.DrawerLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:openDrawer="start" />

"@tools:sample/*" kaynak

Amaçlanan kullanım: Kullanıcı arayüzü metnini veya resimlerini destekleyen tüm görünümler

Kullanıldığı yer: Android Studio Layout Editor

Bu özellik, görünümünüze yer tutucu veriler veya resimler eklemenize olanak tanır. Örneğin, uygulamanızın kullanıcı arayüzü metnini tamamlamadan önce düzeninizin metinle nasıl davrandığını test etmek için yer tutucu metni aşağıdaki gibi kullanabilirsiniz:

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    tools:text="@tools:sample/lorem" />

Aşağıdaki tabloda, düzenlerinize yerleştirebileceğiniz yer tutucu veri türleri açıklanmaktadır:

Tablo 2. Düzenler için yer tutucu veriler

Özellik değeriYer tutucu verilerin açıklaması
@tools:sample/full_names @tools:sample/first_names ve @tools:sample/last_names kombinasyonuyla rastgele oluşturulan tam adlar
@tools:sample/first_names En çok kullanılan adlar
@tools:sample/last_names Yaygın soyadlar
@tools:sample/cities Dünyanın dört bir yanındaki şehirlerin adları
@tools:sample/us_zipcodes Rastgele oluşturulmuş ABD posta kodları
@tools:sample/us_phones Aşağıdaki biçimde rastgele oluşturulmuş telefon numaraları: (800) 555-xxxx
@tools:sample/lorem Latince yer tutucu metin
@tools:sample/date/day_of_week Belirtilen biçim için rastgele belirlenmiş tarihler ve saatler
@tools:sample/date/ddmmyy
@tools:sample/date/mmddyy
@tools:sample/date/hhmm
@tools:sample/date/hhmmss
@tools:sample/avatars Profil avatarı olarak kullanabileceğiniz vektör çizilebilir öğeler
@tools:sample/backgrounds/scenic Arka plan olarak kullanabileceğiniz resimler