Android Studio, tools
ad alanında çeşitli XML özelliklerini destekler.
bir parçada hangi düzenin gösterileceği gibi tasarım zamanı özelliklerini sağlayan özellikler veya
XML'inize uygulanacak küçültme modu gibi derleme zamanı davranışları
kaynaklar. Derleme araçları, uygulamanızı geliştirirken bu özellikleri kaldırır.
APK boyutunu veya çalışma zamanı davranışını etkilemez.
Bu özellikleri kullanmak için tools
ad alanını her bir
kullanmak istediğiniz XML dosyası oluşturun:
<RootTag xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" >
Hata işleme özellikleri
Aşağıdaki özellikler, lint uyarı mesajlarının gizlenmesine yardımcı olur:
tools:ignore
Kullanım amacı: Herhangi bir öğe
Kullanan: Lint
Bu özellik, istediğiniz lint sorunu kimliklerinin virgülle ayrılmış listesini kabul eder yok sayılacak araçlar arasında yer alır.
Örneğin, araçların MissingTranslation
hatasını yoksaymasını sağlayabilirsiniz:
<string name="show_all_apps" tools:ignore="MissingTranslation">All</string>
tools:targetApi
Kullanım amacı: Herhangi bir öğe
Kullanan: Lint
Bu özellik
Java'da @TargetApi
ek açıklaması
girin. API düzeyini (tam sayı veya kod adı olarak) belirtmenize olanak tanır.
bir şablondur.
Bu, ilgili öğenin ve alt öğelerin mevcut olduğuna inandığınız araçlara
yalnızca belirtilen API düzeyinde veya daha yüksek bir düzeyde kullanılır. Bu işlem, lint'in sizi uyarmasını durdurur
Söz konusu öğe veya özellikleri belirttiğiniz API düzeyinde yoksa
minSdkVersion
olarak belirleyin.
Örneğin, şu nedenle bu özelliği kullanabilirsiniz:
GridLayout
yalnızca şuralarda kullanılabilir:
API düzeyi 14 ve üstü, ancak kodunuzda bu düzenin kullanılmadığını biliyorsunuz
daha düşük sürümler için:
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:targetApi="14" >
(Ancak yine de GridLayout
kullanmanızı öneririz.
destek kitaplığından alabilirsiniz.)
tools:locale
Hedef: <resources>
Kullanan: Lint, Android Studio düzenleyicisi
Bu, araçlara Google’daki kaynaklar için varsayılan dili veya yerel ayarı
belirtilen <resources>
öğesini kullanın.
Aksi takdirde, araç dilin İngilizce olduğunu varsayar.
Değer, geçerli bir yerel ayar olmalıdır niteleyicisine ekleyin.
Örneğin, bunu varsayılan values/strings.xml
dosyanıza
varsayılan dizeler için kullanılan dilin
İngilizce yerine İspanyolca:
<resources xmlns:tools="http://schemas.android.com/tools"
tools:locale="es">
Tasarım-zaman görünümü özellikleri
Aşağıdaki özellikler, görünür durumdaki düzen özelliklerini tanımlar bunu yalnızca Android Studio düzen önizlemesinde kullanabilirsiniz.
android:
yerine tools:
Hedef: <View>
Kullanan: Android Studio düzen düzenleyicisi
tools:
önekini kullanarak düzen önizlemenize örnek veriler ekleyebilirsiniz
yerine android:
yerine Android çerçevesinden herhangi bir <View>
özelliğini kullanabilirsiniz.
Bu özellik, özelliğin değeri çalışma zamanına kadar doldurulmamışsa ve
efektini düzen önizlemesinde görmek istiyorsunuz.
Örneğin, android:text
özellik değeri çalışma zamanında ayarlanırsa veya
varsayılandan farklı bir değere sahip düzeni görmek için
Yalnızca düzen önizlemesine ilişkin bir metin belirtmek için tools:text
.
![Tools:text özelliği, düzenin değeri olarak Google Voice'u ayarlar
önizleme](https://developer.android.com/static/studio/images/write/tools-attribute-text_2x.png?authuser=0000&hl=tr)
tools:text
özellik "Google Voice" olarak ayarlar olarak ayarlayabilirsiniz.android:
çalışma zamanını geçersiz kılan, eşleşen tools:
özelliği
özelliğini kullanabilirsiniz.
Ayrıca, şu öğenin özellik ayarını geri almak için bir tools:
özelliği kullanabilirsiniz:
yalnızca düzen önizlemesi. Örneğin, iki çocuklu bir FrameLayout
hesabınız varsa
ancak düzen önizlemesinde yalnızca bir alt öğe görmek istiyorsanız,
düzen önizlemesinde görünmez olmalarını sağlar:
<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" />
Düzen Düzenleyici'yi
Özellikler penceresi, tasarım zamanlarının bir kısmını düzenlemenize
özellikleri görüntüleyin. Her tasarım zamanı özelliği,
yanında İngiliz anahtarı simgesinin var
özellik adını kullanın.
tools:context
Amaçlanan: Herhangi bir kök <View>
Kullanan: Lint, Android Studio Layout Düzenleyici
Bu özellik, bu düzenin
varsayılandır. Bu işlem, düzenleyicide veya düzen önizlemesinde gereken
hakkında bilgi sahibi olabilir (örneğin,
bironClick
hızlı düzeltmeyi içerir.
![Hızlı düzeltme
onClick özelliği için "tools:context" değerini ayarladığınızda çalışır.](https://developer.android.com/static/studio/images/write/tools-attribute-context_2x.png?authuser=0000&hl=tr)
onClick
.
özelliğinin çalışması için tools:context
politikasını ayarlamanız gerekir.Etkinlik sınıfı adını, manifesto dosyası (tam paket adı hariç).
Örnek:
<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: <RecyclerView>
Kullanan: Android Studio Layout Düzenleyici
Belirli bir
RecyclerView
için bu özellik,
Düzen Düzenleyici,
Önizleme penceresi.
Örnek:
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:itemCount="3"/>
tools:layout
Hedef: <fragment>
Kullanan: Android Studio Düzen Düzenleyici
Bu özellik, düzen önizlemesinin hangi düzeni içine çizmesini istediğinizi belirtir parçası; düzen önizlemesi etkinlik kodunu kontrol edin.
Örnek:
<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üzen Düzenleyici
Bu özellikler, bir listenin düzen önizlemesinde hangi düzenin gösterileceğini belirtir öğe, üstbilgi ve altbilgidir. Düzendeki tüm veri alanları "Öğe 1" gibi sayısal içeriklerden oluşan Böylece liste öğeleri yinelenmez.
Örnek:
<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<View>
<include>
Kullanan: Android Studio Düzen Düzenleyici
Bu özellik,
<include>
sayesinde şunları yapabilirsiniz:
bu dosyayı üst düzenine yerleştirilmiş halde göründüğü gibi önizleyip düzenleyin.
Örnek:
<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üzeni.
tools:menu
Amaçlanan: Herhangi bir kök <View>
Kullanan: Android Studio Düzen Düzenleyici
Bu özellik, düzen önizlemesinin
uygulama çubuğuna dokunun. Değer, bir veya daha fazla menü kimliğidir.
@menu/
veya herhangi bir kimlik öneki içermeyen ve
.xml
uzantısı.
Örnek:
<?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: <NumberPicker>
Kullanan: Android Studio Düzen Düzenleyici
Bu özellikler,
NumberPicker
görünüm.
Örnek:
<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: <DrawerLayout>
Kullanan: Android Studio Düzen Düzenleyici
Bu özellik, bir
Önizlemede
DrawerLayout
var.
Ayrıca Düzen Düzenleyici'nin düzeni oluşturma biçimini aşağıdaki değerlerden birini iletmek için kullanılır:
Tablo 1.
Düzen Düzenleyici bir DrawerLayout
oluşturur
Sabit | Değer | Açıklama |
---|---|---|
end | 800005 | Nesneyi, boyutunu değiştirmeden kapsayıcısının sonuna aktarın. |
left | 3 | Nesneyi, boyutunu değiştirmeden kapsayıcının soluna doğru itin. |
right | 5 | Nesneyi, boyutunu değiştirmeden kapsayıcının sağına doğru itin. |
start | 800003 | Nesneyi, boyutunu değiştirmeden kapsayıcısının başına aktarın. |
Örnek:
<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
Kullanım amacı: Kullanıcı arayüzü metnini veya resimlerini destekleyen tüm görünümler
Kullanan: Android Studio Layout Düzenleyici
Bu özellik, görünümünüze yer tutucu veriler veya resimler eklemenize olanak tanır. Örneğin, düzenleme işleminden önce sayfa düzeninizin metinle uygulamanızın kullanıcı arayüzü metnine son halini veriyorsanız, yer tutucu metnini şöyle olur:
<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, kullanabileceğiniz yer tutucu veri türleri ekleyin:
Tablo 2. Şuna ait yer tutucu verileri: düzenler
Özellik değeri | Yer tutucu verilerin açıklaması |
---|---|
@tools:sample/full_names |
Şu kombinasyondan rastgele oluşturulmuş tam adlar
@tools:sample/first_names ve
@tools:sample/last_names |
@tools:sample/first_names |
Yaygın adlar |
@tools:sample/last_names |
Ortak soyadları |
@tools:sample/cities |
Dünyanın dört bir yanından şehirlerin adları |
@tools:sample/us_zipcodes |
Rastgele oluşturulmuş ABD posta kodları |
@tools:sample/us_phones |
Şu biçimde, rastgele oluşturulmuş telefon numaraları:
(800) 555-xxxx . |
@tools:sample/lorem |
Latin alfabesinde 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 vektör çekilebilir mi? |
@tools:sample/backgrounds/scenic |
Arka plan olarak kullanabileceğiniz resimler |
Kaynak daraltma özellikleri
Aşağıdaki özellikler katı referans kontrollerini etkinleştirmenizi ve kullanırken belirli kaynakları muhafaza etme veya silme kaynak azaltma.
Kaynak daraltmayı etkinleştirmek için shrinkResources
özelliğini true
olarak ayarlayın.
build.gradle
dosyanızda, kodu küçültmek için minifyEnabled
ile birlikte gösterilir.
Örnek:
Eski
android { ... buildTypes { release { shrinkResources true minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } }
Kotlin
android { ... buildTypes { getByName("release") { isShrinkResources = true isMinifyEnabled = true proguardFiles( getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" ) } } }
tools:shrinkMode
Hedef: <resources>
Kullanan: Kaynak küçültme özellikli araçlar derleme
Bu özellik, derleme araçlarının takip etmek için:
- Güvenli mod: Açıkça alıntı yapılan tüm kaynakları
bir çağrıyla dinamik olarak referans verilebilir
Resources.getIdentifier()
. - Yüksek düzey mod: Yalnızca kaynakları tutun kodda veya başka kaynaklarda açıkça alıntılanan
Varsayılan olarak güvenli mod kullanılır (shrinkMode="safe"
). Bunun yerine
yüksek düzey modunda, <resources>
etiketine shrinkMode="strict"
öğesini aşağıda gösterildiği gibi ekleyin:
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools"
tools:shrinkMode="strict" />
Yüksek düzey modunu etkinleştirdiğinizde tools:keep
kullanmanız gerekebilir.
kaldırmak istediğiniz ancak gerçekten istediğiniz kaynakları saklayıp
Daha da fazla kaynağı açıkça kaldırmak için tools:discard
.
Daha fazla bilgi için bkz. Kaynaklarınızı azaltın.
tools:keep
Hedef: <resources>
Kullanan: Kaynak küçültme özellikli araçlar derleme
Kullanılmayan kaynakları kaldırmak için kaynak küçültme tekniğini kullanırken bu
özelliği ile korunacak kaynakları belirtebilirsiniz. Bu kaynaklar genellikle
çalışma zamanında dolaylı bir şekilde, örneğin
kaynak adını
Resources.getIdentifier()
.
Kullanmak için kaynak dizininizde bir XML dosyası oluşturun (örneğin,
res/raw/keep.xml
) ile birlikte <resources>
etiketi
ve tools:keep
özelliğinde tutulacak her kaynağı bir
virgülle ayrılmış liste. Yıldız karakterini joker karakter olarak kullanabilirsiniz.
Örnek:
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools"
tools:keep="@layout/used_1,@layout/used_2,@layout/*_3" />
Daha fazla bilgi için bkz. Kaynaklarınızı azaltın.
tools:discard
Hedef: <resources>
Kullanan: Kaynak küçültme özellikli araçlar derleme
Kullanılmayan kaynakları kaldırmak için kaynak küçültmeyi kullanırken bu özellik Manuel olarak silmek istediğiniz kaynakları belirtmenize olanak tanır. kaynak referans verilmişse ancak bunu uygulamanızı ya da çünkü Gradle eklentisi, kaynağın yanlış referans alın.
Kullanmak için kaynak dizininizde bir XML dosyası oluşturun (örneğin,
res/raw/keep.xml
) ile birlikte <resources>
etiketi
ve atılacak her kaynağı tools:discard
özelliğinde bir
virgülle ayrılmış liste. Yıldız karakterini joker karakter olarak kullanabilirsiniz.
Örnek:
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools"
tools:discard="@layout/unused_1" />
Daha fazla bilgi için bkz. Kaynaklarınızı azaltın.