Araç özelikleri referansı

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&#39;u ayarlar
      önizleme
Şekil 1. 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 İngiliz Anahtarı
simge 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 &quot;tools:context&quot; değerini ayarladığınızda çalışır.
Şekil 2. için hızlı düzeltme 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

SabitDeğerAçıklama
end800005Nesneyi, boyutunu değiştirmeden kapsayıcısının sonuna aktarın.
left3Nesneyi, boyutunu değiştirmeden kapsayıcının soluna doğru itin.
right5Nesneyi, boyutunu değiştirmeden kapsayıcının sağına doğru itin.
start800003Nesneyi, 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ğeriYer 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.