android - 如何在用户滚动 RecyclerView 之前修复 RecyclerView 之外的视图错位
问题描述
这是我遇到的问题:https ://imgur.com/a/GKZpdX9
我锚定到布局底部的 AdView 将被稍微拉出位置,并且只有当用户再次滚动 RecyclerView 时才会回到其预期位置。
该活动使用两个片段,一个用于底部的横幅,另一个用于其余视图的顶部,因此当用户单击 ViewHolder 时,上面的片段被替换。
我曾尝试使用 .scrollToView 等方法强制 RecyclerView 移动,但它保留了横幅的错位。只有当用户滚动回到正确的位置时。
我已经检查过,如果用户不是替换上部片段而是被带到不同的活动,然后按下后退按钮,这个问题就不会发生。但我需要使用一个片段。
解决方案
而不是在 Activity 中为横幅创建单独的片段。您应该在您的 fragmentActivity 中使用此代码技术。在活动中对顶视图使用相对布局,然后添加具有特定高度的横幅视图并将 alignParentBottom 设置为 true。然后添加另一个包含您的 recyclerview 片段的布局并设置此属性(layoutAbove 并将 addview id 传递给 id)。它将正好放在横幅的顶部。
推荐阅读
- vim - VIM - 防止你选择小写
- excel - 如何告诉 MS Flow 使用表格范围字段中的最后一个单元格创建表格?
- javascript - 无法逐行读取文件
- laravel-5 - 如何将 botman 2.0 添加到现有的 laravel 5.6 项目中?
- php - 表单未提交值
- lua - 有没有一种简单的方法来检查 2 个浮点数是否大致相等?
- ruby-on-rails - Rails 5 custom query in show method with find and where
- python - 如何抑制 CatBoost 迭代结果?
- python - Django Authorization - Return redirect within a function call
- angular - Angular 6 CLI localisation & Internationalization for multilingual support