如何在 arraylist 中添加动画 json 文件并在我们迭代时在屏幕上显示这些动画?
How to add animation json files in an arraylist & display those animations on the screen when we iterate?
我在 res 目录的 raw 文件夹中有动画 json 文件。我做了一个数据模型,我想在其中存储许多具有不同数据类型的属性。
数据模型
class ExerciseModel (
private var id:Int,
private var name:String,
private var isCompleted:Boolean,
private var isSelected:Boolean,
private var animationJson:String)
然后,我想创建此 class 的对象并将其存储在 ArrayList 中。作为,
object Constants {
fun defaultExerciseList():ArrayList<ExerciseModel>{
val exerciseList=ArrayList<ExerciseModel>()
val squat =ExerciseModel(1,"Squat",false,false, R.raw.squat.json)
exerciseList.add(squat)
我已经在 activity_main.xml 中添加了视图,但它不起作用。
<com.airbnb.lottie.LottieAnimationView
android:id="@+id/exerciseAnimation"
android:layout_width="300dp"
android:layout_height="300dp"
android:layout_centerInParent="true"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:lottie_autoPlay="true"
app:lottie_fileName="jumping_jack.json"
app:lottie_loop="true"
app:lottie_speed="1" />
如何将动画 json 文件添加到数组列表中并使其显示在屏幕上?
更新型号代码:-
class ExerciseModel(
var id: Int,
var name: String,
var isCompleted: Boolean,
var isSelected: Boolean,
var animationJson: Int)
在数组中添加数据:-
val exerciseList=ArrayList<ExerciseModel>()
val squat = ExerciseModel(1,"Squat",false,false, R.raw.squat)
exerciseList.add(squat)
val load = ExerciseModel(2,"Load",false,false, R.raw.load)
exerciseList.add(load)
val spring = ExerciseModel(3,"Spring",false,false, R.raw.spring)
exerciseList.add(spring)
为动画添加这一行:-
exerciseAnimation.setAnimation(exerciseList[0].animationJson) //0 is your animationfile position
更新您的 xml 代码:-
<com.airbnb.lottie.LottieAnimationView
android:id="@+id/exerciseAnimation"
android:layout_width="300dp"
android:layout_height="300dp"
android:layout_centerInParent="true"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:lottie_autoPlay="true"
app:lottie_loop="true"
app:lottie_speed="1" />
我在 res 目录的 raw 文件夹中有动画 json 文件。我做了一个数据模型,我想在其中存储许多具有不同数据类型的属性。
数据模型
class ExerciseModel (
private var id:Int,
private var name:String,
private var isCompleted:Boolean,
private var isSelected:Boolean,
private var animationJson:String)
然后,我想创建此 class 的对象并将其存储在 ArrayList 中。作为,
object Constants {
fun defaultExerciseList():ArrayList<ExerciseModel>{
val exerciseList=ArrayList<ExerciseModel>()
val squat =ExerciseModel(1,"Squat",false,false, R.raw.squat.json)
exerciseList.add(squat)
我已经在 activity_main.xml 中添加了视图,但它不起作用。
<com.airbnb.lottie.LottieAnimationView
android:id="@+id/exerciseAnimation"
android:layout_width="300dp"
android:layout_height="300dp"
android:layout_centerInParent="true"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:lottie_autoPlay="true"
app:lottie_fileName="jumping_jack.json"
app:lottie_loop="true"
app:lottie_speed="1" />
如何将动画 json 文件添加到数组列表中并使其显示在屏幕上?
更新型号代码:-
class ExerciseModel(
var id: Int,
var name: String,
var isCompleted: Boolean,
var isSelected: Boolean,
var animationJson: Int)
在数组中添加数据:-
val exerciseList=ArrayList<ExerciseModel>()
val squat = ExerciseModel(1,"Squat",false,false, R.raw.squat)
exerciseList.add(squat)
val load = ExerciseModel(2,"Load",false,false, R.raw.load)
exerciseList.add(load)
val spring = ExerciseModel(3,"Spring",false,false, R.raw.spring)
exerciseList.add(spring)
为动画添加这一行:-
exerciseAnimation.setAnimation(exerciseList[0].animationJson) //0 is your animationfile position
更新您的 xml 代码:-
<com.airbnb.lottie.LottieAnimationView
android:id="@+id/exerciseAnimation"
android:layout_width="300dp"
android:layout_height="300dp"
android:layout_centerInParent="true"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:lottie_autoPlay="true"
app:lottie_loop="true"
app:lottie_speed="1" />