Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.

Appcompat

Mengizinkan akses ke API baru pada versi API platform yang lebih lama (sebagian besar menggunakan Desain Material).
Update Terbaru Rilis Stabil Saat Ini Kandidat Rilis Berikutnya Rilis Beta Rilis Alfa
19 Agustus 2020 1.2.0 - - 1.3.0-alpha02

Mendeklarasikan dependensi

Untuk menambahkan dependensi pada Appcompat, Anda harus menambahkan repositori Google Maven ke project Anda. Baca repositori Maven Google untuk mengetahui informasi selengkapnya.

Tambahkan dependensi untuk artefak yang diperlukan dalam file build.gradle bagi aplikasi atau modul Anda:

dependencies {
    def appcompat_version = "1.2.0"

    implementation "androidx.appcompat:appcompat:$appcompat_version"
    // For loading and tinting drawables on older versions of the platform
    implementation "androidx.appcompat:appcompat-resources:$appcompat_version"
}

Untuk informasi dependensi selengkapnya, lihat Menambahkan Dependensi Build.

Masukan

Masukan Anda membantu meningkatkan kualitas Jetpack. Beri tahu kami jika Anda menemukan masalah baru atau memiliki ide untuk meningkatkan kualitas library ini. Harap periksa library ini untuk mengetahui masalah yang sudah diketahui sebelum membuat laporan baru. Anda dapat memberikan suara pada masalah yang ada dengan mengklik tombol bintang.

Membuat terbitan baru

Lihat dokumentasi Issue Tracker untuk mengetahui informasi selengkapnya.

Versi 1.3.0

Versi 1.3.0-alpha02

19 Agustus 2020

androidx.appcompat:appcompat:1.3.0-alpha02 dan androidx.appcompat:appcompat-resources:1.3.0-alpha02 dirilis. Versi 1.3.0-alpha02 berisi commit berikut ini.

Perbaikan Bug

  • Drawable PNG AppCompatRatingBar telah diganti dengan sumber vektor. Tindakan ini dapat menyebabkan sedikit perubahan pada tampilan visual setiap bintang. (I6b99d)
  • Mengupdate WindowInsetsCompat ke API Android 11 (I3df9e)
  • Mendukung RTL dalam item menu dengan ikon (I2f5c5)

Update Dependensi

  • AppCompat telah mengupdate dependensinya dari Fragment 1.1.0 menjadi Fragment 1.3.0-alpha08. Sangat disarankan untuk membaca catatan rilis Fragment 1.2.0 untuk memahami perubahan utama yang diperkenalkan dalam rilis Fragment sebelumnya.
  • AppCompat telah mengupdate dependensinya dari Activity 1.0.0 menjadi Activity 1.2.0-alpha08. Sangat disarankan untuk membaca catatan rilis Activity 1.1.0 untuk memahami perubahan utama yang diperkenalkan dalam rilis Activity sebelumnya.
    • AppCompatActivity kini menggunakan OnContextAvailableListener API yang diperkenalkan di Activity 1.2.0-alpha08 untuk menyiapkan AppCompatDelegate. Semua pemroses yang ditambahkan ke subclass AppCompatActivity akan berjalan setelah pemroses ini. (I513da)

Versi 1.3.0-alpha01

20 Mei 2020

androidx.appcompat:appcompat:1.3.0-alpha01 dan androidx.appcompat:appcompat-resources:1.3.0-alpha01 dirilis. Versi 1.3.0-alpha01 berisi commit berikut.

Fitur Baru

  • Menambahkan aturan Lint baru untuk menandai panggilan ke setActionBar pada aktivitas yang memperluas AppCompatActivity
  • Menambahkan dukungan untuk ViewTreeLifecycleOwner dari Lifecycle 2.3.0-alpha01, ViewTreeViewModelStoreOwner dari Lifecycle 2.3.0-alpha03, dan ViewTreeSavedStateRegistryOwner dari SavedState 1.1.0-alpha01 saat menggunakan View dalam AppCompatActivity. (b/151603528, aosp/1300264)
  • Menambahkan API umum untuk menyisipkan konten lengkap (misalnya, menempelkan gambar). Callback baru menyediakan API tunggal yang dapat diimplementasikan aplikasi untuk mendukung berbagai cara menyisipkan konten lengkap. Untuk saat ini, API tersebut hanya ditambahkan ke AppCompatEditText dan akan dipanggil untuk jalur kode berikut:
    • tempel dari papan klip
    • penyisipan konten dari IME (InputConnection.commitContent) (I22bf7)

Perbaikan Bug

  • Mulai AppCompat 1.2.0-rc01: AppCompat tidak lagi memanggil onMenuOpened() dengan menu null. (b/142843126)
  • Menyelesaikan masalah link teks dan warna petunjuk dengan benar pada perangkat lama saat TextViewCompat.setTextAppearance dipanggil dengan gaya tampilan teks yang memiliki daftar status warna yang mereferensikan atribut warna tema (b/154702995)

Versi 1.2.0

Versi 1.2.0

5 Agustus 2020

androidx.appcompat:appcompat:1.2.0 dan androidx.appcompat:appcompat-resources:1.2.0 dirilis. Versi 2.1.0 berisi commit berikut ini.

Perubahan utama sejak versi 1.1.0

  • Memperbaiki dukungan untuk kasus penggunaan penggantian Konfigurasi, termasuk lokal khusus dan skala font. Lihat di sini untuk mengetahui contoh cara mengimplementasikan penggantian dengan benar menggunakan appcompat:1.2.0.
  • AppCompatDelegate.attachBaseContext() tidak digunakan lagi. Jika Anda memanggil atau mengganti metode ini, gunakan AppCompatDelegate.attachBaseContext2().
  • CollapsibleActionView tidak digunakan lagi. Antarmuka ini tidak diperlukan lagi, gunakan antarmuka android.view.CollapsibleActionView yang disediakan platform.

Versi 1.2.0-rc02

22 Juli 2020

androidx.appcompat:appcompat:1.2.0-rc02 dan androidx.appcompat:appcompat-resources:1.2.0-rc02 dirilis. Versi 1.2.0-rc02 berisi commit berikut.

Perbaikan Bug

  • Memperbaiki masalah terkait mode malam jika panggilan AppCompatDelegate.setDefaultNightMode dari dialog terkadang gagal membuat ulang aktivitas dan menerapkan mode baru. (aosp/1348308, b/158923881)

Versi 1.2.0-rc01

14 Mei 2020

androidx.appcompat:appcompat:1.2.0-rc01 dan androidx.appcompat:appcompat-resources:1.2.0-rc01 dirilis. Versi 1.2.0-rc01 berisi commit berikut.

Perubahan API

  • AppCompatDelegate.setLocalNightMode telah ditandai sebagai memerlukan SDK versi 17 atau yang lebih baru karena masalah platform dengan perubahan konfigurasi antara Aktivitas di SDK versi sebelumnya

Perbaikan Bug

  • AppCompatDelegate.setLocalNightMode kini dapat dipanggil sebelum Activity.attachBaseContext
  • Memperbaiki penggunaan inset ActionBarOverlayLayout yang sebelumnya menggunakan inset cache secara tidak tepat
  • AppCompat tidak lagi memanggil onMenuOpened() dengan menu null. (b/142843126)

Versi 1.2.0-beta01

1 April 2020

androidx.appcompat:appcompat:1.2.0-beta01 dan androidx.appcompat:appcompat-resources:1.2.0-beta01 dirilis. Versi 1.2.0-beta01 berisi commit berikut.

Fitur Baru

  • Menambahkan aturan lint baru berikut yang akan melaporkan penggunaan yang salah atas AppCompat dalam skenario berikut:
    • Memuat daftar status warna: menyarankan penggunaan API ContextCompat dan AppCompatResources agar kompatibel dengan versi sebelumnya
    • Memuat drawable: menyarankan penggunaan API ContextCompat dan ResourcesCompat agar kompatibel dengan versi sebelumnya
    • Menggunakan daftar status warna dengan atribut alfa: melaporkan atribut android:alpha yang tidak ada yang akan menyebabkan kesalahan tampilan pada beberapa versi platform
    • Menambahkan tint tampilan gambar: melaporkan tidak digunakannya app:tint yang akan menyebabkan kesalahan tampilan pada versi platform lama
    • Menggunakan gabungan drawable dan penambahan tint pada tampilan teks: menyarankan penggunaan atribut dan API compat agar kompatibel dengan versi sebelumnya

Perbaikan Bug

  • Memperbaiki masalah saat ActionBarOverlayLayout (tindakan dekorasi jendela) tidak mengirimkan WindowInsets dengan benar.
  • Memperbaiki masalah pada penambahan tint pada tampilan drawable dan teks pada versi platform lama
  • Memperbaiki masalah saat androidx.appcompat:appcompat:1.1.0 membuat error pada webview ketika webview ditekan lama (b/141351441)
  • Menerapkan perbaikan untuk masalah manipulasi konteks dasar dan pengambilan layanan sistem saat memulai aktivitas

Versi 1.2.0-alpha03

4 Maret 2020

androidx.appcompat:appcompat:1.2.0-alpha03 dan androidx.appcompat:appcompat-resources:1.2.0-alpha03 dirilis. Versi 1.2.0-alpha03 berisi commit berikut.

Perbaikan Bug

  • Memperbaiki masalah saat pelindung status mode tindakan diperluas dengan tidak semestinya ke dalam menu navigasi dan memiliki warna yang salah (Ia4a09)
  • Memperbaiki masalah saat Aktivitas yang dihentikan tidak dilanjutkan pada API Level 23 ke bawah (I45201)

Versi 1.2.0-alpha02

29 Januari 2020

androidx.appcompat:appcompat:1.2.0-alpha02 dan androidx.appcompat:appcompat-resources:1.2.0-alpha02 dirilis. Versi 1.2.0-alpha02 berisi commit berikut.

Perbaikan bug

  • Memperbaiki masalah saat appcompat 1.1.0 membuat error pada webview saat ditekan lama (b/141351441)
  • Memperbaiki penambahan tint drawable pada TextView yang berhubungan dengan compound drawable pada API Level 23 (aosp/1172194)
  • Memastikan konteks dasar selalu berupa wrapper (aosp/1194355)
  • Menambahkan beberapa peningkatan agar lebih cerdas saat memodifikasi konfigurasi konteks dasar (aosp/1204543)
  • Menonaktifkan createConfigurationContext() untuk Robolectric (aosp/2286218)

Versi 1.2.0-alpha01

4 Desember 2019

androidx.appcompat:appcompat:1.2.0-alpha01 dan androidx.appcompat:appcompat-resources:1.2.0-alpha01 dirilis. Versi 1.2.0-alpha01 berisi commit berikut.

Perbaikan bug

  • Panggilan ke PackageManager.getActivityInfo tidak lagi error dalam mode ketat apabila pemeriksaan yang peka terhadap booting diaktifkan
  • Perbaikan pewarnaan drawable di AppCompatButton
  • Perbaikan untuk tampilan teks dan pewarnaan pada versi platform yang lebih lama

Versi 1.1.0

Versi 1.1.0

5 September 2019

androidx.appcompat:appcompat:1.1.0 dan androidx.appcompat:appcompat-resources:1.1.0 dirilis. Commit yang disertakan dalam versi ini dapat dilihat di sini.

Perubahan penting sejak versi 1.0.0

  • Peningkatan Mode Gelap: MODE_NIGHT_AUTO dan pengalihan gelap/terang berdasarkan waktu saat ini sekarang telah dihentikan. Pertimbangkan untuk menggunakan setelan eksplisit, atau MODE_NIGHT_AUTO_BATTERY.
  • Activity 1.0: AppCompatActivity sekarang diperluas secara transitif dari ComponentActivity dari Activity 1.0.0 melalui Fragment 1.1.0. Lihat catatan rilis terkait untuk informasi tentang perubahan dalam setiap library.
  • AppCompatActivity LayoutId constructor: Subclass AppCompatActivity sekarang dapat secara opsional memanggil konstruktor di AppCompatActivity yang menggunakan ID R.layout, menunjukkan tata letak yang harus ditetapkan menjadi tampilan konten sebagai alternatif untuk memanggil setContentView() di onCreate(). Perubahan ini tidak mengubah persyaratan bahwa subclass Anda memiliki konstruktor tanpa argumen.

Versi 1.1.0-rc01

2 Juli 2019

androidx.appcompat:appcompat:1.1.0-rc01 dan androidx.appcompat:appcompat-resources:1.1.0-rc01 dirilis. Commit yang disertakan dalam versi ini dapat dilihat di sini.

.

Perbaikan bug

  • DayNight sekarang mematuhi configChanges dengan benar (aosp/981105)
  • Cukup panggil onConfigurationChanged pada Aktivitas yang dimulai (aosp/987483)

Versi 1.1.0-beta01

5 Juni 2019

androidx.appcompat:appcompat:1.1.0-beta01 dan androidx.appcompat:appcompat-resources:1.1.0-beta01 dirilis. Commit yang disertakan dalam versi ini dapat dilihat di sini.

Perbaikan bug

  • Memastikan kami merapikan receiver pada AppCompatDialogs (aosp/959376)
  • Menambahkan dukungan untuk buttonGravity=center_vertical di Toolbar (b/130361721)
  • Memperbaiki offset horizontal spinner (b/79477181)

Versi 1.1.0-alpha05

7 Mei 2019

androidx.appcompat:appcompat:1.1.0-alpha05 dan androidx.appcompat:appcompat-resources:1.1.0-alpha05 dirilis. Commit yang disertakan dalam versi ini dapat dilihat di sini.

Fitur baru

Perbaikan bug

  • Berbagai perbaikan pada mode DayNight
  • Membatalkan outline pada perubahan latar belakang apa pun di ActionBar
  • Memperbaiki scroll widget spinner
  • Memperbaiki latar belakang jendela set kustom yang diganti di AlertDialog

Versi 1.1.0-alpha04

3 April 2019

androidx.appcompat:appcompat:1.1.0-alpha04 dan androidx.appcompat:appcompat-resources:1.1.0-alpha04 dirilis. Commit yang disertakan dalam versi ini dapat dilihat di sini.

Fitur baru

  • Menambahkan kategori tema ThemeOverlay.AppCompat.DayNight baru. Tema tersebut harus digunakan saat menggunakan fitur DayNight.

Perubahan API

  • AppCompatActivity sekarang berisi konstruktor kedua yang menggunakan @LayoutRes int, menggantikan perilaku sebelumnya yang menganotasi class AppCompatActivity dengan @ContentView. Pendekatan ini bekerja dalam modul aplikasi dan library. (b/128352521)

Perbaikan bug

  • Menetapkan dependensi internal ke versi stabil, jika memungkinkan
  • Memperbaiki scroll AppCompatSpinner dalam mode drop-down )b/124274573)
  • Cukup panggil applyOverrideConfiguration() jika diperlukan untuk DayNight

Versi 1.1.0-alpha03

13 Maret 2019

androidx.appcompat:appcompat:1.1.0-alpha03 dan androidx.appcompat:appcompat-resources:1.1.0-alpha03 dirilis. Rilis ini merupakan rilis pertama appcompat-resources. Daftar lengkap commit yang disertakan dalam versi ini dapat dilihat di sini.

Fitur baru

  • Library appcompat-resources baru berisi API yang memungkinkan aplikasi untuk memuat dan mewarnai drawable (termasuk vektor drawable) pada versi platform yang lebih lama. Ini adalah fungsi yang sama yang sebelumnya menjadi bagian dari modul appcompat, tetapi sekarang tersedia tanpa overhead untuk appcompat backport penuh dari desain Material yang menyertakan widget, dialog, mode malam, dll.
  • Perbaikan utama pada dukungan mode DayNight
  • Opsi MODE_NIGHT_AUTO_BATTERY baru untuk mode DayNight
  • Penambahan tint drawable di AppCompatTextView
  • Overflow toolbar sekarang dapat disesuaikan dengan daftar status warna bertema
  • Ikon menu sekarang dapat menggunakan warna yang mereferensikan atribut tema
  • Atribut app:menu baru dapat ditetapkan di Toolbar untuk menyediakan konten menu pada inflation time

Perbaikan bug

  • Memperbaiki mode pewarnaan default pada ImageView versi 21
  • Memperbaiki kesalahan penutupan pop-up spinner saat perangkat diputar
  • Memperbaiki DayNight yang tidak mengikuti configChanges dalam manifes
  • Memperbaiki peralihan ke MODE_NIGHT_FOLLOW_SYSTEM yang tidak berfungsi (b/111345020)
  • Memperbaiki WebView yang menyetel ulang resource DayNight (b/37124582)

Versi 1.1.0-alpha02

7 Februari 2019

androidx.appcompat:appcompat 1.1.0-alpha02 dirilis.

Fitur baru

  • Mengekstrak penanganan drawable khusus resource ke hook (aosp/870976)
  • Mengizinkan titleTextColor dan subtitleTextColor Toolbar untuk menggunakan ColorStateList dan menambahkan overload ColorStateList dari metode setTitleTextColor dan setSubtitleTextColor (aosp/867489)

Perbaikan bug

  • Memperbaiki fontFamily yang tidak berfungsi sebelum API 24 (aosp/807054)
  • Memperbaiki bug yang menyebabkan textFontWeight tidak berfungsi saat aktivitas diperluas dari AppCompatActivity (aosp/847640)
  • Memperbaiki bug yang menyebabkan teks judul pada pop-up widget spinner (saat menggunakan mode dialog) tidak menggunakan font yang ditentukan dalam fontFamily (aosp/789994)
  • Memperbaiki bug yang menyebabkan widget AppCompatCheckBox dan AppCompatRadioButton tidak dapat mengubah tint latar belakang aosp/825160)
  • Memperbaiki bug yang menyebabkan AppCompat tidak menggantikan android: list styles (aosp/862350)

Versi 1.1.0-alpha01

3 Desember 2018

Fitur baru

  • AppCompatTextView sekarang mendukung drawable compound app:drawableLeftCompat, app:drawableTopCompat, app:drawableRightCompat, app:drawableBottomCompat, app:drawableStartCompat, dan app:drawableEndCompat, yang mendukung jenis drawable yang di-backport seperti VectorDrawableCompat.

  • Drawable default AppCompatCheckBox dan AppCompatRadioButton sekarang menganimasikan perubahan status pemeriksaan.

Perubahan API

  • aosp/740385: ActionBarOverlayLayout sekarang mengimplementasikan NestedScrollingParent2 dan NestedScrollingParent3, sehingga dapat memfasilitasi fungsionalitas terbaru dalam nested scrolling 3. Jika kode developer saat ini mengganti ActionBarOverLayLayout.onNestedScroll(View, int, int, int, int), kode tersebut mungkin tidak akan dipanggil lagi dan ActionBarOverLayLayout.onNestedScroll(View, int, int, int, int, int, int[]) harus diganti.

Versi 1.0.2

Versi 1.0.2

7 November 2018

Rilis perbaikan bug core-1.0.1 dan appcompat-1.0.2.

Perbaikan bug

  • Memperbaiki bug yang menyebabkan PrecomputedTextCompat mengalami error saat digunakan dengan AppCompatTextView RTL. b/113070424

Versi 1.0.0

Versi 1.0.0

7 November 2018

Fitur baru