From 5ab02f51bf646bd1ba00229da84b85fbf95599d0 Mon Sep 17 00:00:00 2001 From: lambert Date: Sun, 25 Aug 2019 20:57:40 +0800 Subject: [PATCH] . --- base/build.gradle | 3 +- .../java/com/heyongrui/user/KotlinActivity.kt | 6 + user/src/main/res/layout/activity_kotlin.xml | 25 ++ .../src/main/res/xml/motion_scene2_kotlin.xml | 287 ++++++++++++++++++ user/src/main/res/xml/motion_scene_kotlin.xml | 237 +++++++-------- 5 files changed, 437 insertions(+), 121 deletions(-) create mode 100644 user/src/main/res/xml/motion_scene2_kotlin.xml diff --git a/base/build.gradle b/base/build.gradle index 5a26d46..ca572b9 100644 --- a/base/build.gradle +++ b/base/build.gradle @@ -92,9 +92,8 @@ dependencies { api "com.squareup.okhttp3:logging-interceptor:${versions.okhttp}" //Glide图片加载 api "com.github.bumptech.glide:glide:${versions.glide}" - annotationProcessor "androidx.annotation:annotation:${versions.androidxAnnotation}" - annotationProcessor "com.github.bumptech.glide:compiler:${versions.glide}" kapt "com.github.bumptech.glide:compiler:${versions.glide}" + kapt "androidx.annotation:annotation:${versions.androidxAnnotation}" //状态栏管理 api "com.gyf.immersionbar:immersionbar:${versions.immersionbar}" api "com.gyf.immersionbar:immersionbar-components:${versions.immersionbar}" diff --git a/user/src/main/java/com/heyongrui/user/KotlinActivity.kt b/user/src/main/java/com/heyongrui/user/KotlinActivity.kt index be2ae80..5c0244a 100644 --- a/user/src/main/java/com/heyongrui/user/KotlinActivity.kt +++ b/user/src/main/java/com/heyongrui/user/KotlinActivity.kt @@ -1,5 +1,7 @@ package com.heyongrui.user +import android.graphics.Color +import android.graphics.drawable.ColorDrawable import android.os.Bundle import android.view.View import android.widget.ImageView @@ -26,6 +28,8 @@ class KotlinActivity>?> : BaseActivity(), V bg.setOnClickListener(this); iv.loadCircle("https://img3.doubanio.com/view/photo/s_ratio_poster/public/p2551393832.jpg") iv2.loadCircle("https://img3.doubanio.com/view/photo/s_ratio_poster/public/p2563780504.jpg") + iv3.loadCircle(ColorDrawable(Color.BLACK)) + iv4.loadCircle(ColorDrawable(Color.GRAY)) } fun ImageView.loadCircle(resource: Any) { @@ -42,9 +46,11 @@ class KotlinActivity>?> : BaseActivity(), V if (id == R.id.bg) { if (-1 == currentState) { motionLayout.transitionToEnd(); + motionLayout2.transitionToEnd(); currentState = 1; } else if (1 == currentState) { motionLayout.transitionToStart(); + motionLayout2.transitionToStart(); currentState = -1; } } diff --git a/user/src/main/res/layout/activity_kotlin.xml b/user/src/main/res/layout/activity_kotlin.xml index 281ab5c..c8215af 100644 --- a/user/src/main/res/layout/activity_kotlin.xml +++ b/user/src/main/res/layout/activity_kotlin.xml @@ -15,6 +15,31 @@ android:layout_width="match_parent" android:layout_height="match_parent" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/user/src/main/res/xml/motion_scene_kotlin.xml b/user/src/main/res/xml/motion_scene_kotlin.xml index 46f24c8..9d1f840 100644 --- a/user/src/main/res/xml/motion_scene_kotlin.xml +++ b/user/src/main/res/xml/motion_scene_kotlin.xml @@ -1,50 +1,49 @@ + xmlns:app="http://schemas.android.com/apk/res-auto"> + app:constraintSetEnd="@id/end" + app:constraintSetStart="@id/start" + app:duration="2000" + app:motionInterpolator="easeInOut"> + app:dragDirection="dragDown" + app:touchAnchorId="@+id/iv" + app:touchAnchorSide="bottom" /> + app:clickAction="toggle" + app:targetId="@id/iv" /> + app:framePosition="25" + app:keyPositionType="pathRelative" + app:motionTarget="@id/iv" + app:pathMotionArc="startVertical" + app:percentX="0.25" + app:percentY="-0.25" + app:transitionEasing="accelerate" /> + app:framePosition="50" + app:keyPositionType="pathRelative" + app:motionTarget="@id/iv" + app:pathMotionArc="flip" + app:percentX="0.5" + app:percentY="0.0" + app:transitionEasing="accelerate" /> + app:framePosition="75" + app:keyPositionType="pathRelative" + app:motionTarget="@id/iv" + app:pathMotionArc="startVertical" + app:percentX="0.75" + app:percentY="0.25" + app:transitionEasing="accelerate" /> @@ -58,51 +57,51 @@ + app:framePosition="25" + app:motionTarget="@id/iv" + app:transitionEasing="accelerate" /> + app:framePosition="50" + app:motionTarget="@id/iv" + app:transitionEasing="accelerate" /> + app:framePosition="75" + app:motionTarget="@id/iv" + app:transitionEasing="accelerate" /> + app:framePosition="25" + app:keyPositionType="pathRelative" + app:motionTarget="@id/iv2" + app:pathMotionArc="startVertical" + app:percentX="0.25" + app:percentY="0.25" + app:transitionEasing="decelerate" /> + app:framePosition="50" + app:keyPositionType="pathRelative" + app:motionTarget="@id/iv2" + app:pathMotionArc="flip" + app:percentX="0.5" + app:percentY="0.0" + app:transitionEasing="decelerate" /> + app:framePosition="75" + app:keyPositionType="pathRelative" + app:motionTarget="@id/iv2" + app:pathMotionArc="startVertical" + app:percentX="0.75" + app:percentY="-0.25" + app:transitionEasing="decelerate" /> @@ -116,25 +115,25 @@ + app:framePosition="25" + app:motionTarget="@id/iv2" + app:transitionEasing="decelerate" /> + app:framePosition="50" + app:motionTarget="@id/iv2" + app:transitionEasing="decelerate" /> + app:framePosition="75" + app:motionTarget="@id/iv2" + app:transitionEasing="decelerate" /> @@ -147,23 +146,23 @@ android:layout_height="100dp" android:layout_marginTop="@dimen/dp_30" android:rotation="0" + app:drawPath="pathRelative" app:layout_constraintEnd_toEndOf="parent" - motion:drawPath="pathRelative" - motion:layout_constraintStart_toStartOf="parent" - motion:layout_constraintTop_toTopOf="parent" - motion:pathMotionArc="startHorizontal"> + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" + app:pathMotionArc="startHorizontal"> - - + + - - + + - - + + + app:attributeName="saturation" + app:customFloatValue="1" /> + app:pathMotionArc="startHorizontal"> - - + + - - + + - - + + + app:attributeName="saturation" + app:customFloatValue="0" /> @@ -199,23 +198,23 @@ android:layout_height="100dp" android:layout_marginBottom="@dimen/dp_30" android:rotation="-180" + app:drawPath="pathRelative" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" - motion:drawPath="pathRelative" - motion:layout_constraintBottom_toBottomOf="parent" - motion:layout_constraintEnd_toEndOf="parent" - motion:pathMotionArc="startVertical"> + app:pathMotionArc="startVertical"> - - + + - - + + - - + + + app:attributeName="saturation" + app:customFloatValue="0" /> + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" + app:pathMotionArc="startHorizontal"> - - + + - - + + - - + + + app:attributeName="saturation" + app:customFloatValue="1" /> \ No newline at end of file