【问题标题】:weird overlay in RecyclerView when changing fragments (child frags)更改片段(子片段)时 RecyclerView 中的奇怪叠加
【发布时间】:2021-09-10 05:06:50
【问题描述】:

编辑 1:recyclerview 具有固定大小(300x500dp),这是因为我想检查叠加层是适用于 RecyclerView 还是整个 ViewGroup


我遇到了片段和布局的问题,基本上我的应用使用子片段; 这是粗略的层次结构:

Activity
    |-> FrameLayout (MainFragment, RootView: CoordinatorLayout)
        |-> FrameLayout (ChildFragment, RootView: RelativeLayout)
        |   |-> RecyclerView
        |-> LinearLayout (CustomSearchView)
        |   |-> CardView
        |-> BottomAppBar
        |   |-> BottomNavigationView
        |-> FloatingActionButton

这里是代码的要点:https://gist.github.com/AwaisKing/12df079991558257307f40c8fa6a7d2d

我正在尝试 replaceaddToBackStack 一个片段,但每当我这样做时,它都会在 RecyclerView 上应用一个光覆盖

我尝试将backgrounds 添加到布局和视图中,但我没有运气。

我希望有人可以帮助我解决这个问题

【问题讨论】:

  • 您能否更简洁地了解每个布局包含的内容?
  • 我马上编辑层次结构
  • 你需要解释什么是“光覆盖”,并展示一些布局和代码。您的“粗略层次结构”不是我们开发 Android 应用程序的方式。
  • @dominicoder 看到列表视图了吗?它会改变背景颜色,如果我将背景设置为任何其他颜色,它会在背景上添加新的色调或其他东西。
  • 检查项目视图的布局、您的应用主题,和/或在 recyclerview 上将 focusable 设置为 false(看起来它正在获得焦点)。

标签: android android-layout android-fragments android-recyclerview android-view


【解决方案1】:

有些地方你使用了 CoordinatorLayout,这基本上是一个 FrameLayout,所以如果你没有正确配置它,视图会被覆盖。一目了然,它们是frag_main.xmlint_frag_search.xml

还有一件事,我认为你应该只在确实需要时才使用子片段

【讨论】:

  • nvm 实际上是焦点突出问题,感谢@dominicoder
【解决方案2】:

感谢@dominicoder 帮助我解决了这个问题! comment #120480134

有一个属性android:defaultFocusHighlightEnabled 我所要做的就是将它设置为false

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多