Điều phối viên là gì? Đừng để cái tên lạ mắt đánh lừa bạn, nó không có gì khác ngoài FrameLayout trên steroid
Để hiểu rõ nhất một số CoordinatorLayout
là gì, trước tiên bạn phải hiểu/ghi nhớ ý nghĩa của Điều phối.
Nếu bạn Google từ
Phối hợp
Đây là những gì bạn nhận được:
Tôi nghĩ rằng những định nghĩa này giúp để mô tả những gì một CoordinatorLayout hiện trên nó của riêng mình và cách chế độ xem trong đó hoạt động.
Một CoordinatorLayout (một ViewGroup) mang các yếu tố khác nhau (con Views) của một (một phức hợp hoạt động hoặc tổ chức) ̶ bố trí vào một mối quan hệ hài hòa và hiệu quả:
Với sự giúp đỡ của một CoordinatorLayout, quan điểm con làm việc cùng nhau một cách hài hòa để thực hiện các hành vi tuyệt vời như
kéo, swipes, flings hoặc bất kỳ cử chỉ nào khác.
xem bên trong một CoordinatorLayout đàm phán với những người khác để làm việc với nhau một cách hiệu quả bằng cách xác định những Behaviors
Một CoordinatorLayout là một tính năng siêu mát mẻ của thiết kế Vật liệu giúp tạo bố trí hấp dẫn và hài hòa.
Tất cả những gì bạn phải làm là bao gồm các chế độ xem con của bạn bên trong 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>
và 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>
Điều này cho chúng ta là một bố cục có thể được cuộn sụp đổ Toolbar và ẩn FloatingActionButton
mở:
đậy kín:
Nguồn
2017-01-26 19:33:12
http://android-developers.blogspot.com/2015/05/android-design-support-library.html Nó cũng có một mở rộng, mặc dù khó hiểu, mô tả trong JavaDocs (hiện không có sẵn ở dạng liên kết trực tiếp, nhưng bạn có thể tải xuống một tệp ZIP từ http://developer.android.com/preview/download.html). – CommonsWare
Lợi ích của việc sử dụng 'CordinatorLayout' là gì? Những gì cạnh nó có hơn những người khác? – eRaisedToX