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, bir parçada hangi düzenin gösterileceği gibi tasarım zamanı özelliklerini veya XML kaynaklarınıza hangi küçültme modunun uygulanacağı gibi derleme zamanı davranışlarını etkinleştirir. Uygulamanızı derlediğinizde derleme araçları bu özellikleri kaldırır. Böylece APK boyutunuz veya çalışma zamanı davranışınız etkilenmez.

Bu özellikleri kullanmak için tools ad alanını, kullanmak istediğiniz her XML dosyasının kök öğesine burada gösterildiği gibi ekleyin:

<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ı engellemeye yardımcı olur:

tools:targetApi

Kullanım amacı: Herhangi bir öğe

Kullanan: 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 tüm alt öğelerin yalnızca belirtilen API düzeyinde veya daha yüksek bir düzeyde kullanıldığını düşündüğünüzü bildirir. Bu sayede lint, minSdkVersion olarak belirttiğiniz API düzeyinde ilgili öğe veya özellikleri kullanılamıyorsa sizi uyarmaz.

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

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

(Ancak bunun yerine destek kitaplığından GridLayout kullanmanızı öneririz.)

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>

Kullanan: Android Studio düzenleyici

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

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

tools:text özelliği, düzen önizlemesi için Google Voice'u değer olarak ayarlar.
Şekil 1. tools:text özelliği, düzen önizlemesi için "Google Voice" değerini 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.

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 öğe görmek istiyorsanız alt öğelerden birini düzen önizlemesinde görünmez olacak şekilde ayarlayabilirsiniz. Bu işlem aşağıda gösterilmiştir:

<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 Düzenleyici'yi 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 edilebilmesi için özellik adının yanında bir İngiliz anahtarı simgesiyle İngiliz anahtarı
simgesi gösterilir.

tools:context

Hedef kitle: Tüm kökler <View>

Kullananlar: Lint, Android Studio Layout Editor

Bu özellik, bu düzenin varsayılan olarak hangi etkinlikle ilişkili olduğunu bildirir. Bu, düzenleyicide veya düzen önizlemesinde etkinlik hakkında bilgi gerektiren özellikleri etkinleştirir. Örneğin, önizlemedeki düzen temasının ne olduğu ve hızlı düzeltmeden oluşturulan onClick işleyicilerin nereye ekleneceği (Şekil 2'de gösterildiği gibi) bu özellikler arasındadır.

onClick özelliği için hızlı düzeltme, 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ı, manifesto dosyasındakiyle aynı nokta ön ekini kullanarak (tam paket adı hariç) belirtebilirsiniz.

Ö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>

Kullanan: Android Studio Layout Editor

Belirli bir RecyclerView için bu özellik, Düzenleyici'nin Ö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>

Kullanan: Android Studio Düzenleyici

Bu özellik, düzen önizlemesinin normalde düzeni uygulayan etkinlik kodunu yürütememesi nedeniyle düzen önizlemesinin parçanın içinde hangi düzeni çizmesini istediğinizi belirtir.

Örneğin:

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

tools:listitem, tools:listheader, tools:listfooter

Kullanım amacı: <AdapterView> (ve <ListView> gibi alt sınıflar)

Kullanan: Android Studio Düzenleyici

Bu özellikler, bir listenin öğeleri, üstbilgisi 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

Kullanım amacı: Bir <include> tarafından referans verilen düzendeki herhangi bir kök <View>

Kullanan: Android Studio Düzenleyici

Bu özellik, <include> kullanarak bu düzeni kullanan bir düzene işaret etmenizi sağlar. Böylece bu dosyayı, üst yerleşimine yerleştirilmiş olarak göründüğü şekilde ö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, bu TextView düzenini activity_main düzeninin içinde göründüğü şekilde gösterir.

tools:menu

Hedef kitle: Tüm kökler <View>

Kullanan: Android Studio Düzenleyici

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 benzer bir kimlik ön eki ve .xml uzantısı kullanılmaz.

Ö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>

Kullanan: Android Studio Düzenleyici

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

Ö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>

Kullanan: Android Studio Düzenleyici

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

Aşağıdaki değerlerden birini ileterek Düzenleyici'nin düzeni nasıl oluşturduğunu da değiştirebilirsiniz:

Tablo 1. Düzen Düzenleyici'nin DrawerLayout öğesini nasıl oluşturduğunu değiştiren 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 itin.
right5Nesneyi, boyutunu değiştirmeden kapsayıcısının sağına itin.
start800003Nesneyi, boyutunu değiştirmeden kapsayıcısının başına itin.

Ö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

Şu amaçla kullanılır: Kullanıcı arayüzünde metin veya resim destekleyen herhangi bir görünüm

Kullanan: 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 ekleyebileceğ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 kombinasyonundan rastgele oluşturulan tam adlar
@tools:sample/first_names Yaygın adlar
@tools:sample/last_names Yaygın soyadları
@tools:sample/cities Dünyanın dört bir yanından şehir adları
@tools:sample/us_zipcodes Rastgele oluşturulan ABD posta kodları
@tools:sample/us_phones Aşağıdaki biçimde rastgele oluşturulan telefon numaraları: (800) 555-xxxx
@tools:sample/lorem Latince yer tutucu metin
@tools:sample/date/day_of_week Belirtilen biçim için rastgele 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 drawable vektörler
@tools:sample/backgrounds/scenic Arka plan olarak kullanabileceğiniz resimler