ikew0ng / SwipeBackLayout

An Android library that help you to build app with swipe back gesture.
Apache License 2.0
6.12k stars 1.4k forks source link

android 14 上的拖拽异常:阴影视觉残留 #203

Open WeiLianYang opened 2 months ago

WeiLianYang commented 2 months ago
  1. 描述:android 14 设备,在拖拽返回时,处于返回栈中的内容不可见,同时正在侧滑返回的页面边界呈现 拖拽 的阴影 残留现象。

  2. 修复:通过修改 demo 中 SwipeBackActivityHelper#onActivityCreate() 的设置背景逻辑来修复这一问题。

  3. 修改之前:

    public void onActivityCreate() {
        mActivity.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
        mActivity.getWindow().getDecorView().setBackgroundDrawable(null); // 问题在这里
        mSwipeBackLayout = (SwipeBackLayout) LayoutInflater.from(mActivity).inflate(
                me.imid.swipebacklayout.lib.R.layout.swipeback_layout, null);
    }
  4. 修改之后:

    public void onActivityCreate() {
        Drawable drawable = new ColorDrawable(Color.TRANSPARENT);
        mActivity.getWindow().setBackgroundDrawable(drawable);
        mActivity.getWindow().getDecorView().setBackgroundDrawable(drawable);
        mSwipeBackLayout = (SwipeBackLayout) LayoutInflater.from(mActivity).inflate(
                me.imid.swipebacklayout.lib.R.layout.swipeback_layout, null);
    }
  5. 如果修改之后无效,还需要检查 styles.xml 中的设置

    <item name="android:windowIsTranslucent">true</item>

希望对碰到相同问题的人有帮助!

li6215119 commented 2 months ago

有用

yue-jim commented 1 month ago

我这边jcenter加载不到库,请教您是怎么加载的

WeiLianYang commented 1 month ago

你可以选择以下方式:

  1. 源码依赖,直接 copy 到项目;
  2. 导入 library 作为 module 依赖
yue-jim commented 1 month ago

怎么搞成一个lib呢,我没有做过类似的东西,就是把项目编译成一个jar包嘛

WeiLianYang commented 1 month ago

image

yue-jim commented 1 month ago

我拿进来一直在报错,我再试试看,第一次搞android实在是不好意思打扰到您了

WeiLianYang commented 1 month ago
  1. 先把 项目 clone 到本地;
  2. 再按照图中方式导入,导入框中的 Source directory 就是 clone 到本地 的 这个项目 的 library 本地路径
yue-jim commented 1 month ago

好的好的,我试试看

WeiLianYang commented 1 month ago

我拿进来一直在报错,我再试试看,第一次搞android实在是不好意思打扰到您了

如果你是做新项目,建议你不要用这个库了,我是在解决 之前的项目中碰到的问题。现在 android 系统有 自己的 拖拽 返回功能,没必要用这个了

yue-jim commented 1 month ago

好的,我去搜搜看,谢谢您

yue-jim commented 1 month ago

我这个是定制的设备,系统还是android8.0,就很多功能都没有,要自己写

syx201314 commented 1 month ago

有用,点个赞