Baru saja melihat aplikasi demo pustaka desain dukungan Android baru. Ini disediakan oleh Chris Banes di github . Melalui aplikasi, CoordinatorLayout
digunakan Heavily. Juga, banyak dari dukungan desain kelas perpustakaan seperti FloatingActionButton
, SnackBar
, AppBarLayout
dll berperilaku berbeda ketika di dalam bekas CoordinatorLayout
.
Adakah yang bisa memberi penjelasan tentang apa itu CoordinatorLayout
dan apa perbedaannya dari yang lain ViewGroup
di android, atau setidaknya memberikan jalur yang benar menuju pembelajaran CoordinatorLayout
.
CordinatorLayout
?. Keunggulan apa yang dimilikinya atas orang lain?Jawaban:
Ini dia yang Anda cari.
dari dokumen
yang diperkenalkan oleh pustaka Desain
CoordinatorLayout
, sebuah tata letak yang memberikan tingkat kontrol tambahan atas kejadian sentuh di antara tampilan anak, sesuatu yang dimanfaatkan oleh banyak komponen di pustaka Desain.https://android-developers.googleblog.com/2015/05/android-design-support-library.html
di tautan ini Anda akan melihat video demo dari semua tampilan yang disebutkan di atas.
semoga ini membantu :)
sumber
Apa itu CoordinatorLayout? Jangan biarkan nama mewah membodohi Anda, itu tidak lebih dari FrameLayout pada steroid
Untuk lebih memahami apa
CoordinatorLayout
itu / dilakukan, pertama-tama Anda harus memahami / mengingat apa artinya Koordinasi.Jika Anda Google kata
Ini yang kau dapat:
Menurut saya, definisi ini membantu menjelaskan apa yang dilakukan CoordinatorLayout sendiri dan bagaimana tampilan di dalamnya berperilaku.
KoordinatorLayout (ViewGroup) membawa elemen berbeda (Tampilan anak) dari (̶a̶ ̶c̶o̶m̶p̶l̶e̶x̶ ̶a̶c̶t̶i̶v̶i̶t̶y̶ ̶o̶r̶ ̶a̶n̶ ̶o̶r̶g̶a̶n̶iz̶a̶t̶i̶oniza̶t̶i̶o relationshipni at̶i̶ ke hubungan yang harmonis
Dengan bantuan CoordinatorLayout, tampilan anak bekerja bersama secara harmonis untuk menerapkan perilaku mengagumkan seperti
Tampilan di dalam CoordinatorLayout bernegosiasi dengan orang lain untuk bekerja sama secara efektif dengan menetapkan Perilaku ini
CoordinatorLayout adalah fitur Desain Material yang sangat keren yang membantu menciptakan tata letak yang menarik dan selaras.
Yang harus Anda lakukan adalah menggabungkan tampilan anak Anda di dalam CoordinatorLayout.
<?xml version="1.0" encoding="utf-8"?> <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" tools:context="com.byte64.coordinatorlayoutexample.ScollingActivity"> <android.support.design.widget.AppBarLayout android:id="@+id/app_bar" android:layout_width="match_parent" android:layout_height="@dimen/app_bar_height" android:fitsSystemWindows="true" android:theme="@style/AppTheme.AppBarOverlay"> <android.support.design.widget.CollapsingToolbarLayout android:id="@+id/toolbar_layout" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" app:contentScrim="?attr/colorPrimary" app:layout_scrollFlags="scroll|exitUntilCollapsed"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" app:layout_collapseMode="pin" app:popupTheme="@style/AppTheme.PopupOverlay" /> <TableLayout android:layout_width="match_parent" android:layout_height="wrap_content"/> </android.support.design.widget.CollapsingToolbarLayout> </android.support.design.widget.AppBarLayout> <include layout="@layout/content_scolling" /> <android.support.design.widget.FloatingActionButton android:id="@+id/fab" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="@dimen/fab_margin" app:layout_anchor="@id/app_bar" app:layout_anchorGravity="bottom|end" app:srcCompat="@android:drawable/ic_dialog_email" /> </android.support.design.widget.CoordinatorLayout>
dan content_scrolling:
<?xml version="1.0" encoding="utf-8"?> <android.support.v4.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior" tools:context="com.byte64.coordinatorlayoutexample.ScollingActivity" tools:showIn="@layout/activity_scolling"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="@dimen/text_margin" android:text="@string/large_text" /> </android.support.v4.widget.NestedScrollView>
Ini memberi kita tata letak yang dapat digulir untuk menciutkan Toolbar dan menyembunyikan FloatingActionButton
Buka:
Tutup:
sumber
Hal tambahan yang perlu diperhatikan. Sejak OP ditanya secara khusus
Dan saya rasa itu karena ini.
Tombol FAB, SnackBar bekerja pada konsep FrameLayout, dan karena CoordinatorLayout sendiri memiliki fungsionalitas FrameLayout, ini mungkin membuat tampilan lain berperilaku berbeda !.
sumber
CoordinatorLayout pada dasarnya adalah tata letak bingkai dengan banyak kemampuan yang jelas dari namanya, ini mengotomatiskan koordinasi di antara anak-anaknya dan membantu membangun pemandangan yang indah. Implementasinya dapat dilihat di Google Play Store App. Bagaimana toolbar runtuh dan berubah warna.
Hal terbaik tentang CoordinatorLayout adalah perilaku yang kita berikan kepada turunan langsung atau tidak langsungnya. Anda pasti telah melihat saat menggulir semua UI menjadi bergerak. Sangat mungkin perilaku itu berhasil.
sumber
Untuk memberikan gambaran singkat tentang apa yang berguna dalam Dokumentasi Android :
Gunakan CoordinatorLayout untuk mengontrol perilaku relasional tampilan Anda,
Misalnya jika Anda ingin ToolBar Anda runtuh atau sembunyikan. Google membuatnya sangat mudah dengan memperkenalkan AppBarLayout & CollapsingToolbarLayout, yang keduanya bekerja paling baik di bawah CoordinatorLayout.
Situasi lain yang paling sering digunakan adalah ketika Anda ingin FloatingActionButton menempel di bagian bawah CollapsingToolbar Anda dan bergerak dengannya, meletakkannya di bawah coordinatorLayout dan digunakan
app:layout_anchor="@id/YourAppBarId"
untuk lem (!) Danapp:layout_anchorGravity="bottom|end"
sebagai posisi akan cukup bagi Anda untuk melihat pekerjaan ajaib!Dengan menggunakan tata letak ini sebagai konteks, tampilan anak akan memiliki kolaborasi yang lebih baik dan berperilaku dengan cara yang cerdas karena mereka akan saling mengenal melalui konteks CoordinatorLayout, ini berarti Tombol FloatingAction Anda tidak akan lagi tumpang tindih dengan snackBar dll.
ini hanyalah ringkasan singkat dari bagian yang paling berguna, jadi jika Anda ingin menghemat lebih banyak waktu dalam menganimasikan aplikasi Anda, akan sangat bermanfaat jika Anda mempelajari subjeknya lebih dalam.
lihat template aktivitas tampilan Google Scrolling
sumber
Satu hal yang penting untuk diperhatikan adalah bahwa CoordinatorLayout tidak memiliki pemahaman bawaan tentang pekerjaan FloatingActionButton atau AppBarLayout - ini hanya menyediakan API tambahan dalam bentuk Coordinator.Behavior, yang memungkinkan tampilan anak untuk mengontrol peristiwa dan isyarat sentuh dengan lebih baik serta mendeklarasikan dependensi antara satu sama lain dan menerima callback melalui onDependentViewChanged ().
Tampilan dapat mendeklarasikan Behavior default dengan menggunakan anotasi CoordinatorLayout.DefaultBehavior (YourView.Behavior.class), atau menyetelnya dalam file layout Anda dengan atribut app: layout_behavior = "com.example.app.YourView $ Behavior". Kerangka kerja ini memungkinkan tampilan apa pun untuk berintegrasi dengan CoordinatorLayout.
Tersedia sekarang! Library Design sudah tersedia sekarang, jadi pastikan untuk mengupdate Android Support Repository di SDK Manager. Anda kemudian bisa mulai menggunakan pustaka Desain dengan satu dependensi baru:
compile 'com.android.support:design:22.2.0' Perhatikan bahwa karena pustaka Desain bergantung pada Dukungan v4 dan Pustaka Dukungan AppCompat, itu akan disertakan secara otomatis saat Anda menambahkan ketergantungan pustaka Desain. Kami juga berhati-hati agar widget baru ini dapat digunakan dalam tampilan Desain Editor Tata Letak Android Studio (temukan di CustomView), memberi Anda cara yang lebih mudah untuk melihat pratinjau beberapa komponen baru ini.
Pustaka Desain, AppCompat, dan semua Pustaka Dukungan Android adalah alat penting dalam menyediakan blok penyusun yang diperlukan untuk membuat aplikasi Android yang modern dan tampak hebat tanpa membangun semuanya dari awal.
sumber
Ini
CoordinatorLayout
adalah super bertenagaFrameLayout
.Secara default, jika Anda menambahkan beberapa anak ke sebuah
FrameLayout
, mereka akan tumpang tindih satu sama lain. AFrameLayout
harus digunakan paling sering untuk menampung satu tampilan anak. Daya tarik utama dari aplikasiCoordinatorLayout
ini adalah kemampuannya untuk mengoordinasikan animasi dan transisi tampilan di dalamnya. Hanya dengan menggunakan XML, Anda dapat mendeskripsikan tata letak di mana FAB keluar dari Snackbar yang masuk, misalnya, atau memiliki FAB (atau Tampilan lain sebenarnya) yang tampaknya terpasang ke widget lain dan bergerak di layar dengan widget.Berikut adalah tutorial sumber utama .
sumber