Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
WeiLianYang opened this issue Jul 23, 2024 · 12 comments
Open

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

WeiLianYang opened this issue Jul 23, 2024 · 12 comments

Comments

@WeiLianYang
Copy link

  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);
    }
  1. 修改之后:
   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);
   }
  1. 如果修改之后无效,还需要检查 styles.xml 中的设置
<item name="android:windowIsTranslucent">true</item>

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

@li6215119
Copy link

有用

@yue-jim
Copy link

yue-jim commented Aug 30, 2024

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

@WeiLianYang
Copy link
Author

你可以选择以下方式:

  1. 源码依赖,直接 copy 到项目;
  2. 导入 library 作为 module 依赖

@yue-jim
Copy link

yue-jim commented Aug 30, 2024

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

@WeiLianYang
Copy link
Author

image

@yue-jim
Copy link

yue-jim commented Aug 30, 2024

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

@WeiLianYang
Copy link
Author

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

@yue-jim
Copy link

yue-jim commented Aug 30, 2024

好的好的,我试试看

@WeiLianYang
Copy link
Author

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

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

@yue-jim
Copy link

yue-jim commented Aug 30, 2024

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

@yue-jim
Copy link

yue-jim commented Aug 30, 2024

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

@syx201314
Copy link

有用,点个赞

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants