jvziyaoyao / scale

🖼 An image viewer for Jetpack Compose with transition animations and support for large images. 😄 一款基于Jetpack Compose开发的图片浏览库,支持过渡变换和超大图片的显示。
https://jvziyaoyao.github.io/scale
Apache License 2.0
68 stars 3 forks source link

使用 4️⃣ 图片列表浏览 报错 #34

Open Zhao-Michael opened 1 week ago

Zhao-Michael commented 1 week ago

FATAL EXCEPTION: main Process: michael.zhao.test, PID: 1391 java.lang.NoSuchMethodError: No static method HorizontalPager-xYaah8o(Landroidx/compose/foundation/pager/PagerState;Landroidx/compose/ui/Modifier;Landroidx/compose/foundation/layout/PaddingValues;Landroidx/compose/foundation/pager/PageSize;IFLandroidx/compose/ui/Alignment$Vertical;Landroidx/compose/foundation/gestures/snapping/SnapFlingBehavior;ZZLkotlin/jvm/functions/Function1;Landroidx/compose/ui/input/nestedscroll/NestedScrollConnection;Lkotlin/jvm/functions/Function4;Landroidx/compose/runtime/Composer;III)V in class Landroidx/compose/foundation/pager/PagerKt; or its super classes (declaration of 'androidx.compose.foundation.pager.PagerKt' appears in /data/app/~~eualdWOGY0JUO0hxcjRnNw==/michael.zhao.test-pAxWcf_fGAjWJKsIc0MmqQ==/base.apk) at com.jvziyaoyao.scale.zoomable.pager.PagerKt.SupportedHorizonPager-TN_CM5M(Pager.kt:141) at com.jvziyaoyao.scale.zoomable.pager.ZoomablePagerKt.ZoomablePager-osbwsH8(ZoomablePager.kt:155) at com.jvziyaoyao.scale.image.pager.ImagePagerKt.ImagePager-yBXNGS4(ImagePager.kt:50) at michael.zhao.core.activity.ImageViewActivityKt.Scale(ImageViewActivity.kt:69) at michael.zhao.core.activity.ComposableSingletons$ImageViewActivityKt$lambda-1$1.invoke(ImageViewActivity.kt:39) at michael.zhao.core.activity.ComposableSingletons$ImageViewActivityKt$lambda-1$1.invoke(ImageViewActivity.kt:38) at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:109) at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35) at androidx.compose.runtime.CompositionLocalKt.CompositionLocalProvider(CompositionLocal.kt:401) at androidx.compose.material3.TextKt.ProvideTextStyle(Text.kt:349) at androidx.compose.material3.MaterialThemeKt$MaterialTheme$1.invoke(MaterialTheme.kt:69) at androidx.compose.material3.MaterialThemeKt$MaterialTheme$1.invoke(MaterialTheme.kt:68) at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:109) at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35) at androidx.compose.runtime.CompositionLocalKt.CompositionLocalProvider(CompositionLocal.kt:380) at androidx.compose.material3.MaterialThemeKt.MaterialTheme(MaterialTheme.kt:60) at michael.zhao.core.theme.ThemesKt.GitTheme(Themes.kt:48)

babygroooot commented 6 days ago

I actually got the exact same problem as well. I suppose it's some sort of dependency conflict with the internal dependencies being used by the library.

P.S I use the latest compose foundation library version "androidx.compose.foundation:foundation:1.7.0-beta04".

jvziyaoyao commented 3 days ago

致命异常:主 进程:michael.zhao.test,PID:1391 java.lang.NoSuchMethodError:类中没有静态方法Horizo​​ntalPager-xYaah8o(Landroidx/compose/foundation/pager/PagerState;Landroidx/compose/ui/Modifier;Landroidx/compose/foundation/layout/PaddingValues;Landroidx/compose/foundation/pager/PageSize;IFLandroidx/compose/ui/Alignment$Vertical;Landroidx/compose/foundation/gestures/snapping/SnapFlingBehavior;ZZLkotlin/jvm/functions/Function1;Landroidx/compose/ui/input/nestedscroll/NestedScrollConnection;Lkotlin/jvm/functions/Function4;Landroidx/compose/runtime/Composer;III)V Landroidx/compose/foundation/pager/PagerKt;或其超类('androidx.compose.foundation.pager.PagerKt' 的声明出现在 /data/app/~~eualdWOGY0JUO0hxcjRnNw==/michael.zhao.test-pAxWcf_fGAjWJKsIc0MmqQ==/base.apk) 在 com.jvziyaoyao.scale.zoomable.pager.PagerKt.SupportedHorizo​​nPager-TN_CM5M(Pager.kt:141) 在 com.jvziyaoyao.scale.zoomable.pager.ZoomablePagerKt.ZoomablePager-osbwsH8(ZoomablePager.kt:155 ) com.jvziyaoyao.scale.image.pager.ImagePagerKt.ImagePager-yBXNGS4(ImagePager.kt:50) at michael.zhao.core.activity.ImageViewActivityKt.Scale(ImageViewActivity.kt:69) at michael.zhao.core.activity.ComposableSingletons$ImageViewActivityKt$lambda-1$1.invoke(ImageViewActivity.kt:39) at michael.zhao.core.activity.ComposableSingletons $ImageViewActivityKt$lambda-1$1.invoke(ImageViewActivity.kt:38) at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:109) at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35) 在 androidx.compose.runtime.CompositionLocalKt.CompositionLocalProvider(CompositionLocal.kt:401) 在 androidx.compose.material3.TextKt.ProvideTextStyle(Text.kt:349) 在 androidx.compose.material3.MaterialThemeKt$MaterialTheme$1.invoke(MaterialTheme.kt:69) 在 androidx.compose.material3.MaterialThemeKt$ MaterialTheme$1.invoke(MaterialTheme.kt:68) 在 androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:109) 在androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35) 在 androidx.compose.runtime.CompositionLocalKt.CompositionLocalProvider(CompositionLocal.kt:380) 在 androidx.compose.material3.MaterialThemeKt.MaterialTheme(MaterialTheme.kt:60) 在 michael.zhao.core.theme.ThemesKt.GitTheme(Themes.kt:48)

@Zhao-Michael 请提供一下image-viewer和compose的版本

Zhao-Michael commented 2 days ago

kotlin = "2.0.0" scale = "1.1.0-alpha.4" composeBom = "2024.04.01"

使用了Compose Compiler Gradle 插件: https://developer.android.google.cn/develop/ui/compose/compiler?hl=zh-cn 具体啥版本我也不太清楚

不过我预计你直接用最新的android studio 创建一个新项目,使用scale 应该就能复现

jvziyaoyao commented 1 day ago

kotlin = "2.0.0" scale = "1.1.0-alpha.4" composeBom = "2024.04.01"

使用了Compose Compiler Gradle 插件: https://developer.android.google.cn/develop/ui/compose/compiler?hl=zh-cn 具体啥版本我也不太清楚

不过我预计你直接用最新的android studio 创建一个新项目,使用scale 应该就能复现

compose-ui 1.7.0 改了HorizontalPager,但是目前scale用的是1.6.8,所以会找不到方法,你可以尝试使用scale 1.1.0-alpha.2

scale 1.1.0-alpha.2及以前的版本用的是1.7.0-beta4,但是这个版本存在一些恶性的bug,所以新版本回退了

虽然你提供的composeBom是2024.04.01,但是我怀疑你其他依赖导致compose版本被更改到了较高版本

Zhao-Michael commented 1 day ago

因为使用了 Compose Compiler Gradle ,所以 composeBom 是不生效

我先暂时只用了 ImageViewer