Bagaimana Cara Referensi atribut fitur pada ANDROID STUDIO?

Android Studio mendukung berbagai atribut XML dalam namespace tools yang mengaktifkan fitur waktu desain (seperti tata letak mana yang harus ditampilkan dalam fragmen) atau perilaku waktu kompilasi (seperti mode penyusutan mana yang harus digunakan pada resource XML Anda). Saat Anda membuat aplikasi, fitur build menghapus atribut ini sehingga tidak berdampak pada ukuran APK atau perilaku runtime Anda.
Untuk menggunakan atribut ini, tambahkan namespace tools ke elemen root setiap file XML tempat Anda ingin menggunakannya, seperti ditunjukkan di sini:
    <RootTag xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools" >
    

Atribut penanganan error

Atribut berikut membantu menyembunyikan pesan peringatan lint.

tools:ignore

Ditujukan untuk: Semua elemen
Digunakan oleh: Lint
Atribut ini menerima daftar dipisahkan koma untuk ID masalah lint yang Anda inginkan untuk diabaikan oleh fitur pada elemen ini atau turunannya.
Misalnya, Anda dapat meminta fitur agar mengabaikan error MissingTranslation:
<string name="show_all_apps" tools:ignore="MissingTranslation">All</string>
    

tools:targetApi

Ditujukan untuk: Semua elemen
Digunakan oleh: Lint
Atribut ini memiliki fungsi yang sama dengan anotasi @TargetApi dalam kode Java: atribut ini memungkinkan Anda menentukan level API (sebagai bilangan bulat atau nama kode) yang mendukung elemen ini.
Atribut ini memberi tahu fitur bahwa Anda yakin elemen ini (dan setiap turunannya) hanya akan digunakan pada level API yang ditentukan atau yang lebih tinggi. Atribut ini mencegah lint mengirimkan peringatan kepada Anda jika elemen tersebut atau atributnya tidak tersedia pada level API yang Anda tentukan sebagai minSdkVersionAnda.
Misalnya, Anda dapat menggunakan atribut ini karena GridLayout hanya tersedia pada API level 14 dan yang lebih tinggi, tetapi Anda tahu bahwa tata letak ini tidak digunakan untuk versi yang lebih rendah:
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        tools:targetApi="14" >
    
Namun, sebaiknya Anda menggunakan GridLayout dari library dukungan.

tools:locale

Ditujukan untuk: <resources>
Digunakan oleh: Lint, editor Android Studio
Atribut ini memberi tahu fitur bahasa/lokal default mana yang harus digunakan untuk resource dalam elemen <resources> yang ditentukan (jika tidak, fitur akan menganggap bahasa Inggris sebagai bahasa default) untuk menghindari peringatan dari pemeriksa ejaan. Nilainya harus merupakan qualifier lokal yang valid.
Misalnya, Anda dapat menambahkan atribut ini ke file values/strings.xml (nilai string default) untuk menunjukkan bahwa bahasa yang digunakan untuk string default adalah bahasa Spanyol, bukan bahasa Inggris:
<resources xmlns:tools="http://schemas.android.com/tools"
        tools:locale="es">
    

Atribut tampilan waktu desain

Atribut berikut menentukan karakteristik tata letak yang hanya terlihat di pratinjau tata letak Android Studio.

tools: bukan android:

Ditujukan untuk: <View>
Digunakan oleh: Layout Editor Android Studio
Anda dapat menyisipkan data sampel ke pratinjau tata letak dengan menggunakan prefiks tools:, bukan android:, dengan atribut <View> mana pun dari framework Android. Ini berguna saat nilai atribut tidak diisikan hingga runtime, tetapi Anda ingin melihat pengaruhnya terlebih dahulu, di pratinjau tata letak.
Misalnya, jika nilai atribut android:text ditetapkan saat runtime, atau Anda ingin melihat tata letak dengan nilai yang berbeda dengan nilai default, Anda dapat menambahkan tools:text untuk menentukan teks khusus untuk pratinjau tata letak saja.
Gambar 1. Atribut tools:text menetapkan "Google Voice" sebagai nilai untuk pratinjau tata letak
Anda dapat menambahkan atribut namespace android: (yang digunakan saat runtime) dan atribut tools:yang cocok (yang mengganti atribut runtime di pratinjau tata letak saja).
Anda juga dapat menggunakan atribut tools: untuk membatalkan setelan suatu atribut hanya untuk pratinjau tata letak. Misalnya, jika Anda memiliki FrameLayout dengan beberapa turunan, tetapi Anda hanya ingin melihat satu turunan di pratinjau tata letak, Anda dapat menyetel salah satunya agar tidak terlihat di pratinjau tata letak, seperti ditunjukkan di sini:
    <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"  />
    
Saat menggunakan Layout Editor di tampilan desain, jendela Properties juga memungkinkan Anda mengedit beberapa atribut tampilan waktu desain. Setiap atribut waktu desain ditunjukkan dengan ikon kunci pas  di samping nama atribut untuk membedakannya dengan atribut sebenarnya dengan nama yang sama.

tools:context

Ditujukan untuk: Semua root <View>
Digunakan oleh: Lint, Layout Editor Android Studio
Atribut ini mendeklarasikan aktivitas mana yang secara default dikaitkan dengan tata letak ini. Atribut ini mengaktifkan fitur pada editor atau pratinjau tata letak yang memerlukan pengetahuan tentang aktivitas, seperti tema tata letak apa yang harus ada dalam pratinjau dan di mana pengendali onClick harus disisipkan saat Anda membuatnya dari quickfix (gambar 2).
Gambar 2. Quickfix untuk atribut onClick hanya berfungsi jika Anda telah menetapkan tools:context
Anda dapat menentukan nama class aktivitas menggunakan prefiks titik yang sama seperti dalam file manifes (dengan mengecualikan nama paket lengkap). Contoh:
<android.support.constraint.ConstraintLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        tools:context=".MainActivity" >
    
Tips: Anda juga dapat memilih tema untuk pratinjau tata letak dari toolbar Layout Editor.

tools:itemCount

Ditujukan untuk: <RecyclerView>
Digunakan oleh: Layout Editor Android Studio
Untuk RecyclerView tertentu, atribut ini menentukan jumlah item yang harus dirender Layout Editor di jendela Preview.
Contoh:
<android.support.v7.widget.RecyclerView
        android:id="@+id/recyclerView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:itemCount="3"/>
    

tools:layout

Ditujukan untuk: <fragment>
Digunakan oleh: Layout Editor Android Studio
Atribut ini mendeklarasikan tata letak mana yang Anda inginkan untuk digambar oleh pratinjau tata letak di dalam fragmen (karena pratinjau tata letak tidak dapat mengeksekusi kode aktivitas yang biasanya menerapkan tata letak).
Contoh:
<fragment android:name="com.example.master.ItemListFragment"
        tools:layout="@layout/list_content" />
    

tools:listitem / tools:listheader / tools:listfooter

Ditujukan untuk: <AdapterView> (dan subclass seperti <ListView>)
Digunakan oleh: Layout Editor Android Studio
Atribut ini menentukan tata letak mana yang akan ditampilkan di pratinjau tata letak untuk item, header, dan footer dari sebuah daftar. Setiap kolom data dalam tata letak diisi dengan konten numerik seperti "Item 1" sehingga item daftar tidak repetitif.
Contoh:
<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

Ditujukan untuk: Semua root <View> pada tata letak yang direferensikan oleh <include>
Digunakan oleh: Layout Editor Android Studio
Atribut ini memungkinkan Anda menunjuk ke tata letak yang menggunakan tata letak ini sebagai include, sehingga Anda dapat melihat pratinjau (dan mengedit) file ini saat ditampilkan tersemat dalam tata letak induknya.
Contoh:
<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" />
    
Sekarang pratinjau tata letak menampilkan tata letak TextView ini saat ditampilkan di dalam tata letak activity_main.

tools:menu

Ditujukan untuk: Semua root <View>
Digunakan oleh: Layout Editor Android Studio
Atribut ini menentukan menu mana yang perlu ditampilkan di panel aplikasi. Nilainya dapat berupa satu atau beberapa ID menu, yang dipisahkan oleh koma (tanpa @menu/ atau prefiks ID apa pun dan tanpa ekstensi .xml). Contoh:
<?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

Ditujukan untuk: <NumberPicker>
Digunakan oleh: Layout Editor Android Studio
Atribut ini menetapkan nilai minimum dan maksimum untuk tampilan NumberPicker.
Contoh:
<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

Ditujukan untuk: <DrawerLayout>
Digunakan oleh: Layout Editor Android Studio
Atribut ini memungkinkan Anda membuka DrawerLayout pada panel Preview di Layout Editor. Anda juga dapat mengubah cara Layout Editor merender tata letak dengan meneruskan salah satu nilai berikut:
KonstantaNilaiDeskripsi
end800005Mengirim objek ke akhir container-nya, tidak mengubah ukurannya.
left3Mengirim objek ke kiri container-nya, tidak mengubah ukurannya.
right5Mengirim objek ke kanan container-nya, tidak mengubah ukurannya.
start800003Mengirim objek ke awal container-nya, tidak mengubah ukurannya.
Contoh:
<android.support.v4.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" />
    

Resource "@tools:sample/*"

Ditujukan untuk: Semua tampilan yang mendukung teks UI atau gambar.
Digunakan oleh: Layout Editor Android Studio
Atribut ini memungkinkan Anda memasukkan data placeholder atau gambar ke dalam tampilan. Misalnya, jika Anda ingin menguji perilaku tata letak Anda terhadap teks, tetapi Anda belum memiliki teks UI final untuk aplikasi, Anda dapat menggunakan teks placeholder seperti berikut:
<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" />
    
Tabel berikut mendeskripsikan jenis data placeholder yang dapat Anda masukkan ke tata letak.
Nilai atributDeskripsi data placeholder
@tools:sample/full_namesNama lengkap yang dihasilkan secara acak dari kombinasi @tools:sample/first_names dan @tools:sample/last_names.
@tools:sample/first_namesNama depan umum.
@tools:sample/last_namesNama belakang umum.
@tools:sample/citiesNama-nama kota dari seluruh dunia.
@tools:sample/us_zipcodesKode pos Amerika Serikat yang dihasilkan secara acak.
@tools:sample/us_phonesNomor telepon yang dihasilkan secara acak dengan format berikut: (800) 555-xxxx.
@tools:sample/loremTeks placeholder yang diperoleh dari bahasa Latin.
@tools:sample/date/day_of_weekData dan waktu acak untuk format yang ditentukan.
@tools:sample/date/ddmmyy
@tools:sample/date/mmddyy
@tools:sample/date/hhmm
@tools:sample/date/hhmmss
@tools:sample/avatarsVektor yang dapat digambar yang bisa Anda gunakan sebagai avatar profil.
@tools:sample/backgrounds/scenicGambar yang dapat Anda gunakan sebagai latar belakang.

Atribut penyusut resource

Atribut berikut memungkinkan Anda mengaktifkan pemeriksaan referensi yang ketat dan mendeklarasikan apakah akan mempertahankan atau menghapus resource tertentu saat menggunakan penyusutan resource.
Untuk mengaktifkan penyusutan resource, tetapkan properti shrinkResources ke true dalam file build.gradle (selain minifyEnabled untuk penyusutan kode). Contoh:
android {
        ...
        buildTypes {
            release {
                shrinkResources true
                minifyEnabled true
                proguardFiles getDefaultProguardFile('proguard-android.txt'),
                        'proguard-rules.pro'
            }
        }
    }
    

tools:shrinkMode

Ditujukan untuk: <resources>
Digunakan oleh: Fitur build dengan penyusutan resource
Atribut ini memungkinkan Anda menentukan apakah fitur build harus menggunakan "mode aman" (jalankan dengan aman dan pertahankan semua resource yang dikutip secara eksplisit, dan yang mungkin direferensikan secara dinamis dengan panggilan ke Resources.getIdentifier()) atau "mode ketat" (hanya pertahankan resource yang secara eksplisit dikutip dalam kode atau resource lainnya).
Defaultnya adalah menggunakan mode aman (shrinkMode="safe"). Untuk menggunakan mode ketat, tambahkan shrinkMode="strict" ke tag <resources> seperti ditunjukkan di sini:
<?xml version="1.0" encoding="utf-8"?>
    <resources xmlns:tools="http://schemas.android.com/tools"
        tools:shrinkMode="strict" />
    
Jika mengaktifkan mode ketat, Anda mungkin perlu menggunakan tools:keep untuk mempertahankan resource yang telah dihapus tetapi sebenarnya Anda inginkan, dan menggunakan tools:discard untuk menghapus lebih banyak lagi resource secara eksplisit.
Untuk informasi lebih lanjut, lihat Menyusutkan resource.

tools:keep

Ditujukan untuk: <resources>
Digunakan oleh: Fitur build dengan penyusutan resource
Saat menggunakan penyusutan resource untuk menghapus resource yang tidak terpakai, atribut ini memungkinkan Anda menentukan resource mana yang perlu dipertahankan (biasanya karena resource tersebut direferensikan secara tidak langsung saat runtime, seperti dengan meneruskan nama resource yang dihasilkan secara dinamis ke Resources.getIdentifier()).
Untuk menggunakannya, buat file XML di direktori resource (misalnya di res/raw/keep.xml) dengan tag <resources>, dan tentukan setiap resource yang perlu dipertahankan dalam atribut tools:keep sebagai daftar yang dipisahkan koma. Anda dapat menggunakan tanda bintang sebagai karakter pengganti. Contoh:
<?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" />
    
Untuk informasi lebih lanjut, lihat Menyusutkan resource.

tools:discard

Ditujukan untuk: <resources>
Digunakan oleh: Fitur build dengan penyusutan resource
Saat menggunakan penyusutan resource untuk menghilangkan resource yang tidak terpakai, atribut ini memungkinkan Anda menentukan resource yang ingin dihapus secara manual (biasanya karena resource tersebut sebenarnya direferensikan, tetapi dengan cara yang tidak memengaruhi aplikasi Anda, atau karena plugin Gradle salah menyimpulkan bahwa resource tersebut direferensikan).
Untuk menggunakan, buat file XML di direktori resource (misalnya di res/raw/keep.xml) dengan tag <resources>, dan tentukan setiap resource yang perlu dipertahankan dalam atribut tools:discard sebagai daftar yang dipisahkan koma. Anda dapat menggunakan tanda bintang sebagai karakter pengganti. Contoh:
<?xml version="1.0" encoding="utf-8"?>
    <resources xmlns:tools="http://schemas.android.com/tools"
        tools:discard="@layout/unused_1" />
    
Untuk informasi lebih lanjut, lihat Menyusutkan resource.
sumber: https://developer.android.com/studio/write/tool-attributes
Was this page helpful?

Komentar

Postingan Populer