wanggaowan / PhotoPreview

android 仿微信朋友圈大图多图预览
Apache License 2.0
47 stars 4 forks source link

老哥,这个图片预览的页面好像没有状态栏沉浸啊,还有我用的官方的ShapeableImageView圆角缩略图过渡不大好😂 #9

Open SaltedFish-Extreme opened 1 year ago

SaltedFish-Extreme commented 1 year ago

这个图片预览的状态栏图标文字都是白色的,我状态栏图标文字是黑色的,图片预览关闭时候,我页面的状态栏文字会先白色再变成黑色,有点不大好😂

缩放回去的时候也是先直角再变成圆角,这个要咋整,要用imageview再设置圆角啥的吗😂

https://github.com/wanggaowan/PhotoPreview/assets/54784104/f797d6f9-9f98-43e6-b9cf-a6ba33121292

wanggaowan commented 1 year ago

image 每个方法都有具体的注释,可查看方法注释了解完整用法

SaltedFish-Extreme commented 1 year ago

每个方法都有具体的注释,可查看方法注释了解完整用法

但是好像还是有点不大对劲,fullScreen(true) 只是隐藏了状态栏,而且还是先变白才隐藏,关闭预览再显示出来,我希望可以设置状态栏图标字体的颜色😂,就像ImmersionBar框架一样,可以通过代码设置 statusBarDarkFont(true)

SaltedFish-Extreme commented 1 year ago

这个圆角尺寸也不大对😂我用的ShapeableImageView设置的圆角样式,不是通过glide转换的,圆角尺寸不大符合,还有预览关闭的时候缩略图收回去时有拉伸,但是我换成ImageView用glide圆角变换也有拉伸的问题

apply(RequestOptions().transform(CenterCrop(), RoundedCorners(10)))

https://github.com/wanggaowan/PhotoPreview/assets/54784104/bcaa153d-5f77-4586-8031-8acee895be11

SaltedFish-Extreme commented 1 year ago

我发现是因为调用了缩放变换出的问题 transition(DrawableTransitionOptions.withCrossFade(100)) 是为了从占位图过渡的动画,但是图片预览完切换回去就会拉伸一下,不知道该咋办,我按照注释把 transition(DrawableTransitionOptions.withCrossFade(100)) 放到 apply(RequestOptions().transform(CenterCrop(), RoundedCorners(10))) 前面也不行

image

SaltedFish-Extreme commented 1 year ago

emmm,好像是因为我的ImageView宽高用的wrap_content,写死尺寸就好了,但是我在网格布局里用的,怎么样能不限制ImageView的尺寸又可以用 transition(DrawableTransitionOptions.withCrossFade(100)) 来过渡占位图😂

SaltedFish-Extreme commented 1 year ago

好像和#4 是同一个问题,全面屏造成的拉伸,手机型号1+7Pro,安卓11,全面屏

wanggaowan commented 1 year ago

但是好像还是有点不大对劲,fullScreen(true) 只是隐藏了状态栏,而且还是先变白才隐藏,关闭预览再显示出来,我希望可以设置状态栏图标字体的颜色😂,就像ImmersionBar框架一样,可以通过代码设置 statusBarDarkFont(true)

发布了一个新版2.4.6,自动检测预览界面字体颜色,打开和关闭预览时,状态栏字体颜色与缩略图界面保持一致

wanggaowan commented 1 year ago

emmm,好像是因为我的ImageView宽高用的wrap_content,写死尺寸就好了,但是我在网格布局里用的,怎么样能不限制ImageView的尺寸又可以用 transition(DrawableTransitionOptions.withCrossFade(100)) 来过渡占位图😂

宽度MATCH_PARENT,高度给定一个值,具体看demo对应的布局

wanggaowan commented 1 year ago

好像和#4 是同一个问题,全面屏造成的拉伸,手机型号1+7Pro,安卓11,全面屏

有没有视频,#4 是android13系统版本导致的

SaltedFish-Extreme commented 1 year ago

有没有视频,#4 是android13系统版本导致的

那不清楚了,我是安卓11😂

宽度MATCH_PARENT,高度给定一个值,具体看demo对应的布局

<?xml version="1.0" encoding="utf-8"?>
<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/joke_image"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_margin="@dimen/dp_3"
    tools:srcCompat="@drawable/load_picture" />

我的item是只有一个ImageView,我直接用demo的item_img.xml预览完成缩略图左右两侧会收缩一下😂

SaltedFish-Extreme commented 1 year ago
holder.getView<ImageView>(R.id.joke_image).apply {
    Glide.with(context).load(item).placeholder(R.drawable.load_picture).transition(DrawableTransitionOptions.withCrossFade(100))
                .apply(RequestOptions().transform(CenterCrop(), RoundedCorners(10))).into(this)
        }
                PhotoPreview.with(activity).defaultShowPosition(position).sources(dataList).shapeTransformType(ShapeTransformType.ROUND_RECT).shapeCornerRadius(10).build().show(view)

代码就是这些,就是缩略时候有问题😂

wanggaowan commented 1 year ago

有没有视频,#4 是android13系统版本导致的

那不清楚了,我是安卓11😂

宽度MATCH_PARENT,高度给定一个值,具体看demo对应的布局

<?xml version="1.0" encoding="utf-8"?>
<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/joke_image"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_margin="@dimen/dp_3"
    tools:srcCompat="@drawable/load_picture" />

我的item是只有一个ImageView,我直接用demo的item_img.xml预览完成缩略图左右两侧会收缩一下😂

给ImageView加一个缩放类型:android:scaleType="centerCrop",你直接用Glide设置centerCrop,预览库拿不到真实的缩放类型

SaltedFish-Extreme commented 1 year ago

给ImageView加一个缩放类型:android:scaleType="centerCrop",你直接用Glide设置centerCrop,预览库拿不到真实的缩放类型

这样的话,预览关闭 缩略图左右两侧会缩回去再拉伸一下,而且设置的圆角就没了😂

SaltedFish-Extreme commented 1 year ago

发布了一个新版2.4.6,自动检测预览界面字体颜色,打开和关闭预览时,状态栏字体颜色与缩略图界面保持一致

好像没有用啊老哥😥我缩略图的Activity和Fragment都是状态栏字体都是深色,预览图片就是白色的,我这个PhotoAdapter是在另一个Adapter里面的,跟这个有关系吗?

wanggaowan commented 1 year ago

发布了一个新版2.4.6,自动检测预览界面字体颜色,打开和关闭预览时,状态栏字体颜色与缩略图界面保持一致

好像没有用啊老哥😥我缩略图的Activity和Fragment都是状态栏字体都是深色,预览图片就是白色的,我这个PhotoAdapter是在另一个Adapter里面的,跟这个有关系吗?

如果fullScreen(false),那么预览界面状态栏会展示,预览界面的状态栏会始终显示白色,这个不跟随缩略图界面。跟随缩略图界面状态栏字体颜色仅在打开和关闭预览动画执行期间

SaltedFish-Extreme commented 1 year ago

好吧😂

SaltedFish-Extreme commented 1 year ago

老哥,能不能整个圆角的demo,我实在不会写了😂

SaltedFish-Extreme commented 1 year ago

@wanggaowan 唉,老哥,我觉得预览完成回到缩略图会收缩一下还是我用transition(DrawableTransitionOptions.withCrossFade(100))的问题,是不是跟框架的什么地方有冲突啊,不知道该怎么解决了,我就想显示圆角图片,再加上这个可以从占位图过度的效果😂