From 8aab5500bac2d8a7a943a1b8811c0ed4df0a785b Mon Sep 17 00:00:00 2001 From: aitsuki Date: Mon, 14 Mar 2022 01:42:35 +0800 Subject: [PATCH] Fix #17 --- build.gradle | 2 +- demo/build.gradle | 7 ++++--- demo/src/main/AndroidManifest.xml | 3 +-- gradle/wrapper/gradle-wrapper.properties | 2 +- library/build.gradle | 7 ++++--- library/src/main/AndroidManifest.xml | 3 +-- .../main/java/com/aitsuki/swipe/SwipeLayout.kt | 16 ++++++++-------- 7 files changed, 20 insertions(+), 20 deletions(-) diff --git a/build.gradle b/build.gradle index 0468e57..9662d1d 100644 --- a/build.gradle +++ b/build.gradle @@ -8,7 +8,7 @@ buildscript { mavenCentral() } dependencies { - classpath 'com.android.tools.build:gradle:7.0.3' + classpath 'com.android.tools.build:gradle:7.1.2' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files diff --git a/demo/build.gradle b/demo/build.gradle index 748af33..99a4a26 100644 --- a/demo/build.gradle +++ b/demo/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.application' apply plugin: 'kotlin-android' android { - compileSdkVersion 31 + compileSdk 31 defaultConfig { applicationId "com.aitsuki.swipedemo" - minSdkVersion 16 - targetSdkVersion 31 + minSdk 16 + targetSdk 31 versionCode 1 versionName "1.0" } @@ -30,6 +30,7 @@ android { kotlinOptions { jvmTarget = '1.8' } + namespace 'com.aitsuki.swipedemo' } dependencies { diff --git a/demo/src/main/AndroidManifest.xml b/demo/src/main/AndroidManifest.xml index d7a946c..ea55c38 100644 --- a/demo/src/main/AndroidManifest.xml +++ b/demo/src/main/AndroidManifest.xml @@ -1,6 +1,5 @@ - + + diff --git a/library/src/main/java/com/aitsuki/swipe/SwipeLayout.kt b/library/src/main/java/com/aitsuki/swipe/SwipeLayout.kt index 747595c..a79747c 100644 --- a/library/src/main/java/com/aitsuki/swipe/SwipeLayout.kt +++ b/library/src/main/java/com/aitsuki/swipe/SwipeLayout.kt @@ -744,7 +744,7 @@ class SwipeLayout @JvmOverloads constructor( // If menu is INVISIBLE, move it to outside. See isTouchMenu. menuView.layout(left - menuView.width, menuView.top, left, menuView.bottom) } else { - menuView.layout(left, menuView.top, left + menuView.width, menuView.bottom) + menuView.layout(right - menuView.width, menuView.top, right, menuView.bottom) if (menuView is ViewGroup && menuView.childCount > 1) { layoutLeftMenu(menuView, left, right) } @@ -764,17 +764,17 @@ class SwipeLayout @JvmOverloads constructor( private fun layoutLeftMenu(menuView: ViewGroup, left: Int, right: Int) { val onScreen = (right - left).toFloat() / menuView.width - var child = menuView.getChildAt(menuView.childCount - 1) - var childLeft = (right - child.width * onScreen).toInt() - child.layout(childLeft, child.top, childLeft + child.width, child.bottom) + var child = menuView.getChildAt(0) + var childRight = menuView.width + child.layout(childRight - child.width, child.top, childRight, child.bottom) var prevChild = child - for (i in menuView.childCount - 2 downTo 0) { + for (i in 1 until menuView.childCount) { child = menuView.getChildAt(i) - childLeft = (prevChild.left - child.width * onScreen).toInt() + childRight = (prevChild.right - prevChild.width * onScreen).toInt() child.layout( - childLeft, + childRight - child.width, child.top, - childLeft + child.width, + childRight , child.bottom ) prevChild = child