回答

23

CoordinatorLayout旨在成爲管理Behaviors的活動的頂級佈局,例如,互動和動畫。

ConstraintLayout的主要目標是提供一種方便的方式來創建一個具有多個孩子(更強大的RelativeLayout)的平面佈局。

因此,CoordinatorLayout將管理您的活動組件的複雜行爲(特別是動畫),併爲組件正確放置(特別是列表項)的ConstraintLayout。

7

CoordinatorLayout

CoordinatorLayout是一個超級動力的FrameLayout。

默認情況下,如果您將多個子項添加到FrameLayout,它們將會相互重疊。應該最常使用FrameLayout來保存單個子視圖。協調員佈局的主要吸引力在於能夠協調其中的視圖的動畫和過渡。

ConstraintLayout

ConstraintLayout允許您與平面視圖層級(沒有嵌套視圖組)建立龐大而複雜的佈局。 與RelativeLayout類似,所有視圖都根據兄弟視圖和父佈局之間的關係進行佈局,但它比RelativeLayout更靈活,並且更易於與Android Studio的佈局編輯器一起使用。

如何在Android中實現ConstraintLayout或CoordinatorLayout以進行正確的材質設計?

您可能需要同時使用ConstraintLayout和CoordinatorLayout來構建高效的UI和材質動畫。