如何在motionlayout android中将Constraintlayout填充为轮播适配器中的视图?

Posted

技术标签:

【中文标题】如何在motionlayout android中将Constraintlayout填充为轮播适配器中的视图?【英文标题】:How to populate Constraintlayout as view in carousel apdapter in motionlayout android? 【发布时间】:2022-01-21 01:34:58 【问题描述】:

我正在尝试在 motionlayout 中使用轮播小部件来制作 OnBoardActivity。我正在创建三个布局,包含第一层、第二层和第三层。然后我创建 on_board_activity 布局。这是我的代码:

 <androidx.constraintlayout.motion.widget.MotionLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_
android:layout_
app:layoutDescription="@xml/activity_on_board_scene">

<include
    android:id="@+id/first"
    layout="@layout/first_intro"
    android:layout_
    android:layout_ />

<include
    android:id="@+id/second"
    layout="@layout/second_intro"
    android:layout_
    android:layout_ />

<include
    android:id="@+id/third"
    layout="@layout/third_intro"
    android:layout_
    android:layout_ />

<androidx.constraintlayout.helper.widget.Carousel
    android:id="@+id/carousel"
    android:layout_
    android:layout_
    app:carousel_backwardTransition="@+id/backward"
    app:carousel_firstView="@+id/second"
    app:carousel_forwardTransition="@+id/forward"
    app:carousel_infinite="true"
    app:carousel_nextState="@+id/next"
    app:carousel_previousState="@+id/previous"
    app:constraint_referenced_ids="first,second, third" />
  </androidx.constraintlayout.motion.widget.MotionLayout>

我也创建了文件 activity_on_board_scene.xml。但我无法在 kotlin 文件中填充视图。我怎样才能做到这一点?程序运行正常需要什么?

  override fun populate(view: View, index: Int) 
            // need to implement this to populate the view at the given index
            if (view is ConstraintLayout)
               //how can I do that?
            
        

【问题讨论】:

【参考方案1】:

Carousel 允许您使用 MotionScene 中定义的 3 个约束集进行动画处理 它不使用 3 种布局。

一般来说 Carousel 是你的 MotionLayout 助手 应该对 MotionLayout 的工作原理有所了解。

这是Carousel demo app An explanation of how a Carousel works Introduction Videos on MotionLayout parts

【讨论】:

以上是关于如何在motionlayout android中将Constraintlayout填充为轮播适配器中的视图?的主要内容,如果未能解决你的问题,请参考以下文章

Android新控件MotionLayout介绍

Android新控件MotionLayout介绍

Android新控件之MotionLayout 动画管理布局简单介绍<一>

android MotionLayout从入门到实战..

android MotionLayout从入门到实战..

未调用 Android MotionLayout 过渡侦听器