android.support.v7.app.AppCompatActivity
telah ditambahkan ke perpustakaan dukungan v7 terbaru sebagai fitur baru kemarin.
Dikatakan bahwa ActionBarActivity
telah usang mendukung yang baru AppCompatActivity
dan itu AppCompatActivity
adalah kelas dasar untuk kegiatan yang menggunakan fitur action bar perpustakaan dukungan. Jadi, apa saja fitur baru dari AppCompatActivity
over ActionBarActivity
? Peningkatan apa yang AppCompatActivity
dimiliki lebih ActionBarActivity
? Dan apa kelebihannya AppCompatActivity
? Bisakah seseorang menyediakan beberapa sampel?
Setiap tips sangat dihargai. Dan terima kasih sebelumnya.
PS: Yang paling mengejutkan saya adalah apa AppCompatActivity
yang diperpanjang android.support.v4.app.FragmentActivity
adalah kelas induk langsung dari ActionBarActivity
! Maksudku sebenarnya sekarang yang ActionBarActivity
bisa melakukan apa saja yang AppCompatActivity
bisa dilakukan, mengapa Android mendorong yang terakhir?
Sementara itu, saya melihat posting blog yang menyatakan: " Ini bukan nama ganti dari ActionBarActivity
ke AppCompatActivity
, logika internal AppCompat
tersedia melaluiAppCompatDelegate
", jadi apa " logika internal " dari AppCompat
? Apa yang bisa AppCompatDelegate
dilakukan Bisakah seseorang memposting beberapa kode tentang ini?
Jawaban:
Seperti yang ditulis Chris, versi usang baru
ActionBarActivity
(satuAppCompatActivity
kelas yang diperluas ) adalah aman untuk menggunakan kelas kompatibilitas mundur. Penghentiannya hanyalah petunjuk bagi Anda yang meminta untuk menggunakan yang baruAppCompatActivity
secara langsung.AppCompatActivity
adalah implementasi baru yang lebih umum yang menggunakanAppCompatDelegate
kelas secara internal.Jika Anda memulai pengembangan baru, maka Anda harus segera menggunakan
AppCompatActivity
kelas baru . Jika Anda memiliki kesempatan untuk memperbarui aplikasi Anda, maka ganti yang sudah usangActionBarActivity
dengan aktivitas baru juga. Kalau tidak, Anda dapat tetap dengan aktivitas yang sudah tidak digunakan lagi dan tidak akan ada perbedaan perilaku sama sekali.Mengenai
AppCompatDelegate
, itu memungkinkan Anda untuk memiliki widget berwarna baru dalam suatu kegiatan, yang bukanAppCompatActivity
atau tidakActionBarActivity
.Misalnya, Anda mewarisi aktivitas dari perpustakaan eksternal, yang, pada gilirannya, tidak mewarisi dari
AppCompatActivity
tetapi Anda ingin aktivitas ini memiliki widget bahan berwarna (tampilan). Untuk mewujudkannya, Anda perlu membuat instanceAppCompatDelegate
di dalam aktivitas Anda, mengganti metode aktivitas seperti ituaddContentView()
,setContentView()
dll. (LihatAppCompatDelegate
javadoc untuk daftar lengkap metode), dan di dalam metode yang diganti meneruskan panggilan keAppCompatDelegate
instance dalam .AppCompatDelegate
akan melakukan sisanya dan aktivitas "mode lama" Anda akan "terwujud".sumber
Sebagian besar perubahan nama:
ActionBarActivity
tidak benar-benar menggambarkan semua yang dilakukannya sekarang. Anda dapat menggunakan dengan amanActionBarActivity
jika Anda mau. Anggap saja seperti symlink.sumber
AppCompatActivity
adalah kelas induk langsungActionBarActivity
, sekarang yangActionBarActivity
bisa melakukan apa pun yangAppCompatActivity
bisa dilakukan, mengapaAndroid
mendorong keluar nanti?ActionBarActivity
ketika itu dihapus dari perpustakaan dukungan (misalnya saat memperbarui aplikasi Anda), saya akan merekomendasikan untuk menghindari menggunakannya mulai sekarang.http://android-developers.blogspot.it/2015/04/android-support-library-221.html
sumber
AppCompatActivity
diperkenalkan ke Android-SDK sejak rilis dukungan android appcompat perpustakaan .AppCompatActivity
adalah kelas anak langsungFragmentActivity
dari dukungan v4 dan kelas induk langsung dariActionBarActivity
.AppCompatActivity
adalah kelas dasar untuk kegiatan yang menggunakan fitur bilah tindakan pustaka dukungan .Anda dapat menambahkan sebuah
ActionBar
ke aktivitas Anda saat berjalan di API level 7 atau lebih tinggi dengan memperluas kelas ini untuk aktivitas Anda dan mengatur tema aktivitas ke Theme.AppCompat atau tema serupa.Adapun dukungan v7 appcompat perpustakaan, itu menambah dukungan untuk pola desain antarmuka pengguna Action Bar . Perpustakaan ini mencakup dukungan untuk implementasi antarmuka pengguna desain materi .
Berikut adalah beberapa kelas utama yang termasuk dalam pustaka appcompat v7:
ActionBar
- Menyediakan implementasi pola antarmuka pengguna aksi bar.AppCompatActivity
- Menambahkan kelas aktivitas aplikasi yang dapat digunakan sebagai kelas dasar untuk aktivitas yang menggunakan implementasi bilah tindakan Perpustakaan Dukungan .AppCompatDialog
- Menambahkan kelas dialog yang dapat digunakan sebagai kelas dasar untuk dialog bertema AppCompat .ShareActionProvider
- Menambahkan dukungan untuk tindakan berbagi standar (seperti email atau posting ke aplikasi sosial) yang dapat dimasukkan dalam panel tindakan.Setelah Anda mengunduh Pustaka Dukungan Android , pustaka ini terletak di direktori / extras / android / support / v7 / appcompat / .
sumber
android.support.v4.app.ActivityCompat
? Apakah ini hanya nama lamaAppCompatActivity
?Sebelumnya satu-satunya titik masuk
AppCompat
adalah melalui kelas yang sekarang sudah tidak digunakan lagiActionBarActivity
. Sayangnya ini memaksa Anda menggunakan hierarki Activity yang membuat hal-hal seperti menggunakan menjadiPreferenceActivity
tidak mungkin.lihat dukungan chris banes -libraries-v22-1-0 untuk info lebih lanjut
sumber
Rilis terbaru pustaka dukungan android, 22.1, mencela
ActionBarActivity
mendukungAppCompatActivity
, yang berjanji untuk menghadirkan satu yang konsistenActionBar
untuk semua perangkat dimulai dengan API Level 7 ke atassumber