mikaelzero / mojito Goto Github PK
View Code? Open in Web Editor NEW微信、bilibili大图、长图、gif、视频、自定义view的转场效果,The transition effect of wechat, bilibili large image, long image, GIF, video and custom view
License: Apache License 2.0
微信、bilibili大图、长图、gif、视频、自定义view的转场效果,The transition effect of wechat, bilibili large image, long image, GIF, video and custom view
License: Apache License 2.0
可以移除的权限:
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
SDK 里面的所有权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
作者您好,有没有长图在滑动时候的监听,就是类似Bilibili滑动长图的时候会隐藏一些文字之类的信息
在图片放大的时候,还原原图大小是哪个方法,另外可以做旋转么?
width and height must be > 0
第一次加载完后已经缓存了,第二次打开为啥还是会显示进度条
多张图片列表中,点开单张图片,手势放大图片发现布局的宽高已经定死,不能放大为全屏显示图片,只能在初始进入的图片大小范围内放大。
请问一下,本地图片如mipmap文件夹下的图片能加载吗
java.lang.NullPointerException
Attempt to invoke virtual method 'void net.moyokoo.diooto.DragDiootoView.backToMin()' on a null object reference
noViewBtn.setOnClickListener {
Mojito.with(context)
.urls(SourceUtil.getSingleImage())
.setIndicator(NumIndicator()) //不使用RecycleView的时候使用指示器无效
.start()
}
noViewViewPagerBtn.setOnClickListener {
Mojito.with(context)
.urls(SourceUtil.getNormalImages())
.setIndicator(NumIndicator())
.start()
}
Fatal signal 11 (SIGSEGV), code 1, fault addr 0x7f8d62f010 in tid 15807 (ImageRegionDeco)
多次打开关闭长图崩溃,设备:vivo y33, android 5.0
https://github.com/online2/SpanTextViewDemo/blob/master/image/1548919431054.gif
手机机型:一加 onePlus6 onePlusA6000 系统9.0.1
I init mojito
in my custom Application,so the IllegalStateException came when the app started
Caused by: java.lang.IllegalStateException: OkHttpClient::class.java.`package` must not be null
at sW1.<clinit>(AndroidLog.kt:3)
at pW1.<clinit>(Platform.kt:2)
at WT1.<init>(OkHttpClient.kt:73)
And I guess the reason is that mojito-1.1.0
relies on a version of okhttp package with this bug--Okhttp3 4.7.2
I solved this problem by relying on the new fixed version--Okhttp3 4.8.1
Here is my solution code:
//Glide
implementation ('com.github.bumptech.glide:glide:4.11.0')
annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0'
implementation ('com.github.bumptech.glide:okhttp3-integration:4.11.0'){
exclude group: 'com.squareup.okhttp3', module: 'okhttp'
}
//mojito
implementation 'net.mikaelzero.mojito:core:1.1.0'
implementation 'net.mikaelzero.mojito:SketchImageFactory:1.1.0'
implementation ('net.mikaelzero.mojito:GlideImageLoader:1.1.0'){
exclude group: 'com.squareup.okhttp3', module: 'okhttp'
exclude group: 'com.github.bumptech.glide', module: 'okhttp3-integration'
}
//Okhttp3
implementation("com.squareup.okhttp3:okhttp:4.8.1")
当网速慢的时候,点击图片没有任何转场效果,图片加载完会立刻显示。
录屏:
录屏.zip
长图应该是事件拦截了,拖拽没有反应。试了微信长图也是可以拖拽返回的。
该项目会导致APP状态栏变成白色,集成了多主题的APP无法适配
这个控件真的是屌,但是好像和StaggeredGridLayoutManager有冲突 如果用瀑布流的布局 就记录不了位置 返回的时候 mOriginTop全是0 而且如果用瀑布流的话 在加载fragment的时候 如果还用contentViewOriginModels.size 会越界 其他的我都不在意 我只想问问大佬 怎么在使用瀑布流的时候 正确记录位置 我已经研究好几天了 还没找到解决方法
看了下作者写的DragDiootoView 里面代码逻辑都很清晰。
在过渡到最小化的时候最后一帧的效果有点生硬,没有完整的复合到原来图片的位置上。
也看了好几个其他项目都不太完整。
有个小建议~~
如果把缩小的动作加上alpha的过渡 不用强行复合原来的位置 像微博效果妥协也不错。
现在就发现共享元素的过渡效果才有完美的复合动画。
不能自定义图片loader吗,我的图片是加密传输的,需要解密
之前设置了drawable,然后去加载网络图片,加载完成之后,界面会闪一下,如果这张网络图片已经加载过一次,就不会闪一下。
数据单独搞个中转类吧。。。用bundle传输有限制
表情包的小图尺寸较小,放大后就非常模糊,如下:
正常应该这样显示:
如果直接在代码里将ScaleType.FIT_CENTER改成ScaleType.CENTER_INSIDE的话,动画执行完毕会突然从大图变成小图,体验不好,我应该怎么做呢?
`
override fun loadAnimFinish() {
if (isLongHeightImage || isLongWidthImage) {
} else {
sketchImageView.scaleType = ImageView.ScaleType.CENTER_INSIDE
}
}
`
这是表情图片地址:图片
大婶 有确切的版本号吗
.setProgressLoader(object : InstanceLoader {
override fun providerInstance(): IProgress {
return DefaultPercentProgress()
}
})
设置后,加载页面直接显示透明,加载完成才有图片显示
PS: 之前的Diooto是有加载进度显示的,背景是黑色的
播放视频得提前获取他们的宽高吗?来设置dragDiootoView.notifySize(1920, 1080),这个方法吗
集成的1.23版本,文档上写的不需要依赖sketch,但是点击会崩溃,依赖上sketch就正常了,就相当于要集成这个功能我需要添加两个依赖:implementation 'com.github.moyokoo:Diooto:1.23'
implementation 'me.panpf:sketch:2.6.2-b1',但这样打Release包就会报:生成签名apk/bundle时任务‘:app:transformClassesAndResourcesWithR8ForRelease’执行失败
当列表和大图的url不一样 大图需要加载时间的时候 进入大图界面等待加载的时候点击返回时过度动画有问题 显示不正常
大佬,我依赖这个implementation 'net.mikaelzero.mojito:GlideImageLoader:1.1.0'
依赖报错
Failed to resolve: net.mikaelzero.mojito:GlideImageLoader:1.1.0
Show in Project Structure dialog
Affected Modules: app
项目是java代码,不是Kotlin
发现如果传入的数组长度和实际recyleview包含的图片数目不一致时,点击放大会报错,没有头部布局,如何去掉尾部最后一张图片展示呢
for (int i = 0; i < childCount; i++) {
View originImage = (recyclerView.getChildAt(i)
.findViewById(viewId));
if (originImage != null) {
originImageList.add(originImage);
}
}
不想用伸缩动画,就是长图的时候会慢慢展开,不想要这个慢慢的动画,如何实现
现在有一点的局限性,数组超过15就不能显示后面的图片了
当imageview的宽度为wrap_content的时候 大图显示正确 长宽按原图比例显示 但是会导致原图因为wrap 造成宽度显示不全(比如宽度高度都为100dp ,显示的是一个长方形图片,宽度会显示不全)
当imageview的宽度为match的时候 ,小图显示正确 ,但是大图显示会局限在一个正方形区域里,导致原图是长方形的话 ,大图图片高度显示不全
目前需求 小图为正方形区域显示 , 大图原图比例显示 ,上面两个宽度的设置都会有一方不满足
如题:目前显示的对话框在图片列表的activity中,也就是说这个dialog怎么拿到查看的大图那个activity啊?求解!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.