本文提供 MotionLayout 的使用範例。每個範例都包含示範動作的影片,以及動作場景和版面配置的對應程式碼。
基本動態
這個範例包含單一檢視區塊,您可以觸控並拖曳該檢視區塊,在水平方向移動。
- 查看版面配置 XML。
- 查看
MotionSceneXML。
自訂屬性 - backgroundColor
這個範例與「基本動作」範例類似,除了基本動作外,檢視區塊的背景顏色也會隨著檢視區塊移動而改變。
- 查看版面配置 XML。
- 查看
MotionSceneXML。
ImageFilterView - 圖片轉換
這個範例說明如何轉換 ImageFilterView 的飽和度值。
- 查看版面配置 XML。
- 查看
MotionSceneXML。
主要畫面格位置
本範例使用 <KeyFrameSet> 在動作期間變更檢視區塊的 Y 軸位置。
- 查看版面配置 XML。
- 查看
MotionSceneXML。
主要畫面格插值
這個範例以「主要畫面格位置」範例為基礎,在檢視區塊轉場效果中新增旋轉和縮放功能。
- 查看版面配置 XML。
- 查看
MotionSceneXML。
主要畫面格週期
這個範例會新增 <KeyCycle> 元素,為檢視區塊新增波浪狀動作。
- 查看版面配置 XML。
- 查看
MotionSceneXML。
CoordinatorLayout (1/2)
這個範例會將 MotionLayout 新增至現有的 AppBarLayout,為應用程式列新增動態效果。如需這個範例的詳細說明,請參閱「MotionLayout 簡介 (第 III 部分)」。
- 查看版面配置 XML。
- 查看
MotionSceneXML。
CoordinatorLayout (2/2)
這個範例會將 MotionLayout 新增至現有的 AppBarLayout,為應用程式列新增動態效果。
- 查看版面配置 XML。
- 查看
MotionSceneXML。
DrawerLayout (1/2)
這個範例說明如何為 DrawerLayout 新增動作。如要進一步瞭解這個範例,請參閱「MotionLayout 簡介 (第三部分)」。
- 查看版面配置 XML。
- 查看
MotionSceneXML。
DrawerLayout (2/2)
這個範例說明如何為 DrawerLayout 新增動態效果。
側邊面板
本例示範如何將主要內容區域向右拖曳時顯示側邊面板。
- 查看版面配置 XML。
- 查看
MotionSceneXML。
視差
這個範例示範視差背景,其中不同背景層會以不同速度移動。
- 查看版面配置 XML。
- 查看
MotionSceneXML。
ViewPager
這個範例說明如何在 ViewPager 分頁之間滑動時新增動作。如需這個範例的詳細說明,請參閱「MotionLayout 簡介 (第 III 部分)」。
- 查看版面配置 XML。
- 查看
MotionSceneXML。
ViewPager - Lottie
這個範例說明如何在 ViewPager 分頁之間滑動時新增動態效果。
- 查看版面配置 XML。
- 查看
MotionSceneXML。
複雜動作 (1/3)
這個範例結合了先前範例中的元素,展示複雜的動作。
- 查看版面配置 XML。
- 查看
MotionSceneXML。
複雜動作 (2/3)
這個範例結合了先前範例中的元素,展示複雜的動作。
- 查看版面配置 XML。
- 查看
MotionSceneXML。
複雜動作 (3/3)
這個範例結合了先前範例中的元素,展示複雜的動作。
- 查看版面配置 XML。
- 查看
MotionSceneXML。
Fragment 轉場 (1/2)
這個範例說明如何使用 MotionLayout 在片段之間轉換。
- 查看版面配置 XML。
- 查看
MotionSceneXML。
Fragment 轉場 (2/2)
這個範例說明如何使用 MotionLayout 在片段之間轉換。
- 查看版面配置 XML。
- 查看
MotionSceneXML。
類似 YouTube 的動態效果
這個範例示範如何在精簡檢視畫面和全螢幕體驗之間轉換,並顯示額外內容。
- 查看版面配置 XML。
- 查看
MotionSceneXML。
KeyTrigger
這個範例示範如何顯示及隱藏懸浮動作按鈕,方法是在轉場效果跨越進度門檻時執行這項操作。
- 查看版面配置 XML。
- 查看
MotionSceneXML。
多個州/省
本例示範如何使用狀態判斷要套用哪種動作。
- 查看版面配置 XML。
- 查看
MotionSceneXML。