Appcompat

Mengizinkan akses ke API baru pada versi API platform yang lebih lama (sebagian besar menggunakan Desain Material).
Update Terbaru Rilis Stabil Kandidat Rilis Rilis Beta Rilis Alfa
29 Mei 2024 1.7.0 - - -

Mendeklarasikan dependensi

Untuk menambahkan dependensi pada Appcompat, Anda harus menambahkan repositori Maven Google 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:

Groovy

dependencies {
    def appcompat_version = "1.7.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"
}

Kotlin

dependencies {
    val appcompat_version = "1.7.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 mengetahui informasi dependensi selengkapnya, lihat Menambahkan Dependensi Build.

Masukan

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

Laporkan masalah baru

Lihat dokumentasi Issue Tracker untuk informasi selengkapnya.

Versi 1.7

Versi 1.7.0

29 Mei 2024

androidx.appcompat:appcompat:1.7.0 dan androidx.appcompat:appcompat-resources:1.7.0 dirilis. Versi 1.7.0 berisi commit ini.

Perubahan penting sejak versi 1.6.0

  • AppCompatDialog kini menetapkan LifecycleOwner, SavedStateRegistryOwner, dan OnBackPressedDispatcherOwner dengan benar pada tampilan dekorasi dialog melalui ViewTree API, yang memperbaiki masalah saat menghosting ComposeView dalam AppCompatDialog.
  • AppCompatActivity kini menetapkan ViewTreeOnBackPressedDispatcherOwner sehingga dispatcher dapat diambil dari tampilan.
  • Meningkatkan performa SupportMenuInflater secara signifikan.
  • Locale.getDefault() kini menampilkan lokalitas sistem setelah cold start.
  • LinearLayoutCompat sekarang mempertahankan parameter tata letak margin.

Update Dependensi

  • AppCompat kini bergantung pada Activity 1.7.0.
  • AppCompat kini bergantung pada Fragment versi 1.5.4.

Versi 1.7.0-rc01

14 Mei 2024

androidx.appcompat:appcompat:1.7.0-rc01 dan androidx.appcompat:appcompat-resources:1.7.0-rc01 dirilis. Versi 1.7.0-rc01 berisi commit ini.

Versi 1.7.0-beta01

1 Mei 2024

androidx.appcompat:appcompat:1.7.0-beta01 dan androidx.appcompat:appcompat-resources:1.7.0-beta01 dirilis. Versi 1.7.0-beta01 berisi commit ini.

Versi 1.7.0-alpha03

26 Juli 2023

androidx.appcompat:appcompat:1.7.0-alpha03 dan androidx.appcompat:appcompat-resources:1.7.0-alpha03 dirilis. Versi 1.7.0-alpha03 berisi commit ini.

Fitur Baru

  • Dukungan untuk mendapatkan lokalitas per aplikasi dalam konteks non-Activity (I58e753). Empat API baru telah ditambahkan untuk fitur ini:

    • LocaleManagerCompat.getApplicationLocales(): bagi developer untuk mendapatkan lokalitas per aplikasi di luar cakupan aktivitas.

    • ContextCompat.getString(): menampilkan string yang dilokalkan berdasarkan lokalitas per aplikasi.

    • ContextCompat.getContextForLanguage(): konteks yang ditampilkan oleh metode ini akan mengikuti lokalitas per aplikasi.

    • ConfigurationCompat.setLocales(): untuk API di atas, untuk menyetel lokalitas konfigurasi.

Perubahan API Lainnya

  • Menambahkan setLineHeight(unit, lineHeight) ke class compat TextView (Ia9fa9)
  • Menambahkan setLineHeight(unit, lineHeight) ke class compat TextView (Ib2ee1)
  • Menambahkan setLineHeight(unit, lineHeight) ke class compat TextView (I15716)

Perbaikan Bug

  • AppCompatDialog kini menetapkan LifecycleOwner, SavedStateRegistryOwner, dan OnBackPressedDispatcherOwner dengan benar pada tampilan dekorasi dialog melalui ViewTree API, yang memperbaiki masalah saat menghosting ComposeView dalam AppCompatDialog. AppCompat kini bergantung pada Activity 1.7.0. (Ib28ab, b/261314581)
  • Meningkatkan performa SupportMenuInflater secara signifikan (I0b087)

Versi 1.7.0-alpha02

8 Februari 2023

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

Perbaikan Bug

  • Memperbaiki kebocoran memori pada AppCompatDelegate.getLocaleManagerForApplication() (44b57fd)
  • AppCompat kini bergantung pada Fragment versi 1.5.4 (I54dcd)

Versi 1.7.0-alpha01

5 Oktober 2022

androidx.appcompat:appcompat:1.7.0-alpha01 dan androidx.appcompat:appcompat-resources:1.7.0-alpha01 dirilis. Versi 1.7.0-alpha01 berisi commit ini.

Perbaikan Bug

  • AppCompatActivity kini menetapkan ViewTreeOnBackPressedDispatcherOwner sehingga dispatcher dapat diambil dari tampilan. (I1a115, b/235416503)
  • Locale.getDefault() kini menampilkan lokalitas sistem setelah cold start (I6a94b)
  • LinearLayoutCompat sekarang mempertahankan parameter tata letak margin (Id2af4)

Versi 1.6.1

Versi 1.6.1

8 Februari 2023

androidx.appcompat:appcompat:1.6.1 dan androidx.appcompat:appcompat-resources:1.6.1 dirilis. Versi 1.6.1 berisi commit ini.

Perbaikan Bug

  • Memperbaiki kebocoran memori pada AppCompatDelegate.getLocaleManagerForApplication() (44b57fd)

Versi 1.6.0

Versi 1.6.0

11 Januari 2023

androidx.appcompat:appcompat:1.6.0 dan androidx.appcompat:appcompat-resources:1.6.0 dirilis. Versi 1.6.0 berisi commit ini.

Perubahan penting sejak versi 1.5.0

  • Menambahkan dukungan untuk menyesuaikan lokalitas aplikasi. Lihat AppCompatDelegate.setApplicationLocales(LocaleListCompat) untuk mengetahui informasi selengkapnya. Memberikan kompatibilitas mundur untuk API preferensi per bahasa baru yang tersedia di Android 13.
  • Update nullability agar selaras dengan SDK Android 13 (Tiramisu, API level 33).
  • Menambahkan class compat DrawableWrapper, DrawableContainer, dan StateListDrawable ke platform API publik

Versi 1.6.0-rc01

7 September 2022

androidx.appcompat:appcompat:1.6.0-rc01 dan androidx.appcompat:appcompat-resources:1.6.0-rc01 dirilis. Versi 1.6.0-rc01 berisi commit ini.

Perbaikan Bug

  • AppCompatActivity kini menetapkan ViewTreeOnBackPressedDispatcherOwner sehingga dispatcher dapat diambil dari tampilan. (I1a115, b/235416503)
  • Mengembalikan perbaikan bug yang menimpa konfigurasi yang diteruskan ke onConfigurationChanged, yang menyebabkan masalah untuk pengujian yang memasukkan konfigurasi kustomnya sendiri melalui onConfigurationChanged.

Versi 1.6.0-beta01

10 Agustus 2022

androidx.appcompat:appcompat:1.6.0-beta01 dan androidx.appcompat:appcompat-resources:1.6.0-beta01 dirilis. Versi 1.6.0-beta01 berisi commit ini.

Perubahan API

  • Memindahkan class compat DrawableWrapper, DrawableContainer, dan StateListDrawable ke API publik. (I37f3e, b/227789566)
  • Memperkenalkan factory baru untuk inflater tata letak asinkron. (Ia657b)

Perbaikan Bug

  • Toolbar kini akan memanggil onPrepareMenu() sebelum menu ditampilkan, bukan tanpa syarat, saat menu dibuat. (I2a58d, b/232206677)
  • AppCompat kini secara eksplisit bergantung pada Lifecycle 2.5.1 dan SavedState 1.2.0. (I7e3e2)
  • Menambahkan dukungan untuk callback yang dipanggil kembali ke AppCompatDelegate dan implementasi Toolbar yang disediakan AppCompat. (I24062)
  • Menyelesaikan AppCompat API untuk 1.5.0-beta01 (I2a43d, b/236866227)
  • Menyelesaikan AppCompat API untuk 1.5.0-beta01 (I2a43d, b/236866227)

Versi 1.6.0-alpha05

15 Juni 2022

androidx.appcompat:appcompat:1.6.0-alpha05 dan androidx.appcompat:appcompat-resources:1.6.0-alpha05 dirilis. Versi 1.6.0-alpha05 dikembangkan di cabang pra-rilis pribadi dan tidak memiliki commit publik.

Perubahan API

  • Update nullability agar selaras dengan platform API yang telah diselesaikan di SDK Tiramisu Beta 3
  • minCompileSdk kini menjadi 33 untuk menyesuaikan dengan SDK Tiramisu Beta 3

Versi 1.6.0-alpha04

18 Mei 2022

androidx.appcompat:appcompat:1.6.0-alpha04 dan androidx.appcompat:appcompat-resources:1.6.0-alpha04 dirilis. Library ini dikembangkan berdasarkan cabang pra-rilis pribadi sehingga log commit tidak tersedia.

Perubahan API

  • Menambahkan API untuk mengganti pembatasan lebar SwitchCompat agar dapat digunakan oleh MDC-Android

Perbaikan Bug

  • Menghindari konfigurasi terkelola saat perubahan konfigurasi di luar AttachBaseConfig

Versi 1.6.0-alpha03

27 April 2022

androidx.appcompat:appcompat:1.6.0-alpha03 dan androidx.appcompat:appcompat-resources:1.6.0-alpha03 dirilis.

Versi ini memerlukan Android 13 Beta 1 untuk dikompilasi dan runtime-nya tidak dijamin dapat kompatibel dengan pratinjau developer mendatang.

Fitur Baru

  • Dukungan untuk pemilihan bahasa khusus di seluruh aplikasi melalui AppCompatDelegate.setApplicationLocales(). Mendelegasikan ke implementasi platform pada API 33 dan yang lebih baru.

Versi 1.6.0-alpha01

23 Februari 2022

androidx.appcompat:appcompat:1.6.0-alpha01 dan androidx.appcompat:appcompat-resources:1.6.0-alpha01 dirilis. Versi 1.6.0-alpha01 dibuat dari cabang internal dan tidak memiliki commit yang terlihat secara publik.

Versi ini memerlukan Android Tiramisu DP1 untuk dikompilasi dan runtime-nya tidak dijamin kompatibel dengan pratinjau developer di masa mendatang.

Fitur Baru

  • Menambahkan dukungan untuk menyesuaikan lokalitas aplikasi. Lihat AppCompatDelegate.setApplicationLocales(LocaleListCompat) untuk mengetahui informasi selengkapnya. Memberikan kompatibilitas mundur untuk API preferensi per bahasa baru yang tersedia di Android 13.

Versi 1.5.1

Versi 1.5.1

7 September 2022

androidx.appcompat:appcompat:1.5.1 dan androidx.appcompat:appcompat-resources:1.5.1 dirilis. Versi 1.5.1 berisi commit ini.

Update Dependensi

Versi 1.5.0

Versi 1.5.0

10 Agustus 2022

androidx.appcompat:appcompat:1.5.0 dan androidx.appcompat:appcompat-resources:1.5.0 dirilis. Versi 1.5.0 berisi commit ini.

Perubahan penting sejak versi 1.4.0

  • Versi stabil ini mencakup peningkatan stabilitas mode malam, perbaikan bug, dan dukungan penambahan tint drawable compound untuk widget teks yang didukung AppCompat, serta peningkatan kegunaan API. Lihat catatan rilis seri 1.5.0 sebelumnya untuk daftar perubahan mendetail.

Versi 1.5.0-rc01

27 Juli 2022

androidx.appcompat:appcompat:1.5.0-rc01 dan androidx.appcompat:appcompat-resources:1.5.0-rc01 dirilis. Versi 1.5.0-rc01 berisi commit ini.

Perbaikan Bug

  • Memperbaiki masalah saat wrapper konteks AppCompat menggunakan kembali implementasi resource pendukung konteks aplikasi, sehingga uiMode ditimpa pada konteks aplikasi. (Idf9d5)

Versi 1.5.0-beta01

13 Juli 2022

androidx.appcompat:appcompat:1.5.0-beta01 dan androidx.appcompat:appcompat-resources:1.5.0-beta01 dirilis. Versi 1.5.0-beta01 berisi commit ini.

Perubahan API

  • Menambahkan flag yang dapat diganti untuk menonaktifkan penyesuaian lebar tombol default. (I37cb7)
  • Menambahkan anotasi @FloatRange ke API pengambil posisi ibu jari (If524c)
  • Menambahkan anotasi nullability yang tidak ada ke AnimatedStateListDrawableCompat (Ieb4ec)

Perbaikan Bug

  • Menyelesaikan AppCompat API untuk 1.5.0-beta01 (I2a43d, b/236866227)
  • Mengubah nilai className untuk ActionMenuItemView agar memperlakukannya sebagai Button (I5ee1c)

Versi 1.5.0-alpha01

6 April 2022

androidx.appcompat:appcompat:1.5.0-alpha01 dan androidx.appcompat:appcompat-resources:1.5.0-alpha01 dirilis. Versi 1.5.0-alpha01 berisi commit ini.

Perubahan API

  • Menambahkan API baru untuk menampilkan posisi ibu jari tombol akses ke subclass (I9bfb4)
  • Mengupdate nullability agar cocok dengan Tiramisu DP2 (I0cbb7)
  • Penambahan tint drawable compound yang di-backport ke widget yang diambil oleh TextView (Idf98c, b/165822337)
  • AppCompatDialog kini memperluas ComponentDialog untuk kompatibilitas dengan OnBackPressedDispatcher (Id9b91, b/217620781)
  • SearchView.onQueryRefine() kini dilindungi visibilitas untuk memungkinkan penggantian (I6cce0, b/212882845)

Perbaikan Bug

  • Toolbar AppCompat kini memanggil onPrepareMenu() MenuHostHelper API. (I9b9b5, b/227376894)
  • AppCompatEditText, AppCompatAutoCompleteEditText, AppCompatMultiAutoCompleteEditText tidak akan lagi mereset clickable atau longClickable di konstruktor saat ditetapkan dalam XML (Ic5066, b/221094907).
  • AppCompatEditText, AppCompatAutoCompleteTextView, dan AppCompatMultiAutoCompleteTextView tidak akan memanggil setKeyListener yang diganti selama konstruktor (I5c13a, b/208480173)
  • Appcompat tidak akan menggabungkan instance NumberKeyListener yang diteruskan ke setKeyListener, sehingga TextView dapat mengonfigurasi lokalitas dengan benar di NumberKeyListeners (Ibf113, b/207119921
  • Memperbaiki masalah dengan semua subclass NumberKeyListener yang diperkenalkan di AppCompat 1.4.0 yang memungkinkan karakter tidak terduga seperti tanda baca menjadi input (Iede7a, b/207119921)

Versi 1.4.2

Versi 1.4.2

1 Juni 2022

androidx.appcompat:appcompat:1.4.2 dan androidx.appcompat:appcompat-resources:1.4.2 dirilis. Versi 1.4.2 berisi commit ini.

Perbaikan Bug

  • Memperbaiki error ketika AppCompatDelegateImpl melakukan panggilan internal ke ensureSubDecor sebelum panel tindakan dibuat (aosp/2048349, b/226648941)

Versi 1.4.1

12 Januari 2022

androidx.appcompat:appcompat:1.4.1 dan androidx.appcompat:appcompat-resources:1.4.1 dirilis. Versi 1.4.1 berisi commit ini.

Perbaikan Bug

  • AppCompatEditText, AppCompatAutoCompleteTextView, dan AppCompatMultiAutoCompleteTextView tidak akan memanggil setKeyListener yang diganti selama konstruktor. (I5c13a, b/208480173)
  • Emoji2 tidak akan menggabungkan instance NumberKeyListener, sehingga lokalitas dapat dikonfigurasi oleh textview.
    • Appcompat tidak akan menggabungkan instance NumberKeyListener yang diteruskan ke setKeyListener, sehingga TextView dapat mengonfigurasi lokalitas dengan benar di NumberKeyListeners. (Ibf113, b/207119921)
  • Memperbaiki masalah dengan semua subclass NumberKeyListener yang diperkenalkan di appcompat 1.4.0 yang memungkinkan karakter tidak terduga seperti tanda baca menjadi input (b/207119921) (Iede7a, b/207119921)

Versi 1.4.0

Versi 1.4.0

17 November 2021

androidx.appcompat:appcompat:1.4.0 dan androidx.appcompat:appcompat-resources:1.4.0 dirilis. Versi 1.4.0 berisi commit ini.

Perubahan penting sejak versi 1.3.0

  • Library kini menargetkan tingkat bahasa Java 8
  • Dukungan emoji yang dapat diperbarui diaktifkan secara default melalui library androidx.emoji2
  • Peningkatan inspeksi atribut di Layout Inspector Android Studio (I02d55)
  • Menambahkan dukungan untuk resource tint bertingkat dan vektor drawable di backport pemuatan resource AppCompat. Namun, perlu diketahui bahwa ini berarti aplikasi tidak dapat mengganti getDrawable() pada objek Resource kustom saat backport diaktifkan. (Ia6b03, b/176129022)
  • Latar belakang hasil backport yang dapat ditambahi tint dan tanda centang untuk CheckedTextView (I8575c)

Versi 1.4.0-rc01

27 Oktober 2021

androidx.appcompat:appcompat:1.4.0-rc01 dan androidx.appcompat:appcompat-resources:1.4.0-rc01 dirilis. Versi 1.4.0-rc01 berisi commit ini.

Versi 1.4.0-beta01

29 September 2021

androidx.appcompat:appcompat:1.4.0-beta01 dan androidx.appcompat:appcompat-resources:1.4.0-beta01 dirilis. Versi 1.4.0-beta01 berisi commit ini.

Perubahan API

  • Toolbar AndroidX AppCompat kini menjadi MenuHost dan dapat mengelola MenuProvider. (I5cd95)

Perbaikan Bug

  • Memperbaiki penanganan status progres daftar lapisan AppCompatProgressBar (I6ece3, b/142004509)
  • Mempertahankan android:digits dengan benar dalam AppCompatEditText, sehingga akan memperbaiki bug 193047889 yang diperkenalkan di AppCompat 1.4.0-alpha03. (I4b4fc, b/193047889)
  • Mengintegrasikan SDK OnReceiveContentListener dan Support Library API. (Ic6914, b/173814913)

Versi 1.4.0-alpha03

30 Juni 2021

androidx.appcompat:appcompat:1.4.0-alpha03 dan androidx.appcompat:appcompat-resources:1.4.0-alpha03 dirilis. Versi 1.4.0-alpha03 berisi commit ini.

Fitur Baru

  • Library kini menargetkan tingkat bahasa Java 8
  • Menambahkan dukungan emoji2 untuk subclass TextView lainnya (AppCompatMultiAutoCompleteTextView, AppCompatAutoCompleteTextView, AppCompatRadioButton, AppCompatCheckBox).

Perubahan API

  • Menambahkan API untuk mengonfigurasi InputConnection agar menggunakan View.performReceiveContent untuk menangani panggilan IME ke InputConnection.commitContent. (I3a2ad)
  • Menambahkan dukungan untuk EmojiCompat ke AppCompatMultiAutoCompleteTextView (Ifece0)
  • Menambahkan dukungan untuk EmojiCompat ke AppCompatAutoCompleteTextView (Ia1f4b)
  • Menambahkan dukungan untuk EmojiCompat ke AppCompatRadioButton (If08af)
  • Menambahkan dukungan untuk EmojiCompat ke AppCompatCheckBox (I2b3bc)
  • Mengizinkan KeyListener null di AppCompatEditText. Tindakan ini akan membalikkan anotasi non-null yang ditambahkan ke AppCompatEditText dalam 1.4-alpha01 dan memulihkan perilaku sebelumnya saat menerima null. (I21482, b/189559345)
  • Menambahkan PopupMenu.setForceShowIcon untuk paritas dengan API platform (I43bb3, b/182789798)

Perbaikan Bug

  • Memperbaiki bug di AppCompatEditText yang akan mereset inputType yang ditentukan dalam XML untuk menghapus variasi. Bug ini diperkenalkan di AppCompat 1.4.0-alpha01. (I9df36, b/191061070)

Versi 1.4.0-alpha02

2 Juni 2021

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

Perubahan API

  • Menambahkan konstruktor AppCompatDialogFragment yang menggunakan ID tata letak (Icbf22, b/188119987)
  • Meningkatkan dukungan Layout Inspector (I02d55)
  • Mengganti nama paket dalam emoji2-views-helper menjadi androidx.emoji2.viewsintegration. Ini adalah perubahan yang dapat menyebabkan gangguan pada AppCompat 1.4.0-alpha01, dan aplikasi harus memastikan dependensi AppCompat diperbarui untuk menggunakan versi emoji2 yang baru. (Ie8397)

Perbaikan Bug

  • Memperbaiki masalah saat aktivitas yang dihentikan tidak menerima perubahan konfigurasi dari perubahan mode malam yang menggunakan AppCompat. (I8fa8f, b/188681415)
  • Memperbaiki bug dalam AppCompatEditText yang menyebabkan tampilan dapat difokuskan bahkan saat android:focusable="false" ditentukan dalam xml (bug yang ditemukan di AppCompat 1.4.0-alpha01) (Ib9412)

Versi 1.4.0-alpha01

18 Mei 2021

androidx.appcompat:appcompat:1.4.0-alpha01 dan androidx.appcompat:appcompat-resources:1.4.0-alpha01 dirilis. Versi 1.4.0-alpha01 berisi commit ini.

Perubahan API

  • Mengintegrasikan dukungan EmojiCompat ke berbagai widget AppCompat (Id409b, If7a1a, Ic262d, Ib5f4a, I4fb3c)
  • Menambahkan dukungan untuk resource tint bertingkat dan vektor drawable di backport pemuatan resource AppCompat. Namun, perlu diketahui bahwa ini berarti aplikasi tidak dapat mengganti getDrawable() pada objek Resource kustom saat backport diaktifkan. (Ia6b03, b/176129022)
  • Meningkatkan dukungan Layout Inspector (I6d771)

Perbaikan Bug

  • Memperbaiki skenario ketika pemanggilan setSupportActionBar setelah menyetel callback jendela akan menimpa callback. (Ie43ee, b/186791590)
  • Menambahkan solusi untuk masalah pada SDK 29 dan 30 yang menyebabkan resource ColorStateListDrawable yang di-clone dari cache drawable tidak memuat warna default hingga menerima perubahan status. (Iedb4b)
  • Mencegah NPE saat menangani callback mode tindakan pemilihan kustom null pada tampilan yang didukung AppCompat. (I033c7, b/173435375)

Update Dependensi

Kontribusi Eksternal

  • Latar belakang backport yang dapat ditambahi tint dan tanda centang untuk CheckedTextView (I8575c)

Versi 1.3.1

Versi 1.3.1

21 Juli 2021

androidx.appcompat:appcompat:1.3.1 dan androidx.appcompat:appcompat-resources:1.3.1 dirilis. Versi 1.3.1 berisi commit ini.

Update dependensi

  • AppCompat kini bergantung pada Activity 1.2.4 dan Fragment 1.3.6, sehingga perbaikan dari rilis tersebut disertakan secara default saat menggunakan AppCompat 1.3.1. (I8fbec)

Versi 1.3.0

Versi 1.3.0

18 Mei 2021

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

Perubahan penting sejak versi 1.2.0

  • Memperbaiki propagasi atribut android:theme di seluruh tata letak <include> di perangkat sebelum versi Lollipop
  • Mengurangi ukuran library dengan mengonversi banyak resource PNG ke VectorDrawables
  • Menambahkan dukungan untuk peristiwa tarik lalu lepas ke AppCompatEditText dengan OnReceiveContentListener
  • Mengupdate untuk mendukung perubahan pada penanganan inset jendela Android 11
  • Menambahkan dukungan untuk RTL dalam item menu dengan ikon
  • Menambahkan dukungan untuk menyisipkan konten lengkap (misalnya, menempelkan gambar) di AppCompatEditText

  • Dependensi yang diupdate: appcompat mengupdate banyak dependensi transitifnya untuk mendukung fungsi dan perbaikan baru:

Versi 1.3.0-rc01

24 Maret 2021

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

Perbaikan Bug

  • Mencegah pencabutan izin lebih awal saat menangani penyisipan konten IME

Update Dependensi

Kontribusi Eksternal

  • Perbaikan propagasi atribut android:theme di seluruh tata letak <include> pada perangkat sebelum versi Lollipop (Simon Bergner di Opera)

Versi 1.3.0-beta01

13 Januari 2021

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

Fitur Baru

  • Drawable mode tindakan tingkat tema telah diganti dengan sumber vektor. Tindakan ini dapat menyebabkan sedikit perubahan pada tampilan visual setiap ikon. (I741a6)

Perubahan API

  • Mengintegrasikan peristiwa tarik lalu lepas (peristiwa lepas) di AppCompatEditText dengan OnReceiveContentListener. (Ib26c9, b/175343405)
  • Mengupdate OnReceiveContentListener dan API terkait. Lihat perubahan library androidx.core untuk detail selengkapnya. (Ib4616, b/173814913)
  • Memindahkan widget.RichContentReceiverCompat ke view.OnReceiveContentListener. (Ifdab7, b/173814913)
  • API untuk menyediakan dan mengambil teks awal di sekitarnya telah di-backport ke EditorInfoCompat. Class ini memungkinkan aplikasi IME menghindari latensi IPC tambahan. (Ie3809)

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 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 ini.

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

  • Dari 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 1.2.0 berisi commit ini.

Perubahan utama sejak versi 1.1.0

  • Memperbaiki dukungan untuk kasus penggunaan penggantian Configuration, termasuk lokalitas 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 ini.

Perbaikan Bug

  • Memperbaiki masalah terkait mode malam ketika pemanggilan 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 ini.

Perubahan API

  • AppCompatDelegate.setLocalNightMode telah ditandai sebagai memerlukan SDK versi 17 atau yang lebih baru karena masalah platform dengan perubahan konfigurasi yang bocor antara Activity 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 ini.

Fitur Baru

  • Menambahkan aturan lint baru berikut yang akan melaporkan penggunaan yang salah atas AppCompat dalam skenario berikut:
    • Memuat daftar status warna: menyarankan penggunaan ContextCompat dan AppCompatResources API agar kompatibel dengan versi sebelumnya
    • Memuat drawable: menyarankan penggunaan ContextCompat dan ResourcesCompat API 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 pada 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 ini.

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 Activity yang dihentikan tidak dilanjutkan pada API Level 23 dan yang lebih lama (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 ini.

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 drawable compound 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/1186218)

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 ini.

Perbaikan bug

  • Panggilan ke PackageManager.getActivityInfo tidak lagi error dalam mode ketat apabila pemeriksaan yang peka terhadap booting diaktifkan
  • Perbaikan penambahan tint pada drawable di AppCompatButton
  • Perbaikan untuk tampilan teks dan penambahan tint 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

  • Perbaikan 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.
  • Konstruktor AppCompatActivity LayoutId: 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)
  • Hanya panggil onConfigurationChanged pada Activity 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 indikator lingkaran berputar (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 indikator lingkaran berputar
  • 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)
  • Hanya memanggil 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 menambah tint pada 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 backport appcompat 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 tint default pada ImageView versi 21
  • Memperbaiki kesalahan penutupan pop-up indikator lingkaran berputar 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 mereset 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 indikator lingkaran berputar (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 fungsi terbaru dalam scrolling bertingkat 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