如果片段包含AppBarLayout,则BottomNavigationView对片段内的滚动不起作用

时间:2018-10-27 02:57:20

标签: android xml android-fragments scroll

在Android中使用coordinatorLayout在片段内滚动和检测时遇到很多问题。 我有一个“主要活动”,里面有3个片段。我只希望其中一个片段具有在滚动片段时折叠的Appbar。我已经做到了,但是如果我将滚动行为设置为允许这样做,我的bottomNavigationView(在mainactivity.xml中找到)不会对滚动做出反应。代码是这样的:

Fragment1.xml

<android.support.design.widget.CoordinatorLayout
...
.../>
 <android.support.design.widget.AppBarLayout
 ...
 .../>
   <android.support.design.widget.CollapsingToolbarLayout
   app:layout_scrollFlags="scroll|exitUntilCollapsed"
   ...>
     <android.support.v7.widget.Toolbar
     .../>
   </android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
   <android.support.v4.widget.NestedScrollView
   app:layout_behavior="@string/appbar_scrolling_view_behavior"
   </android.support.v4.widget.NestedScrollView>
</android.support.design.widget.CoordinatorLayout>

MainActivity.xml

<android.support.design.widget.CoordinatorLayout
.../>
  <FrameLayout
 app:layout_behavior="@string/appbar_scrolling_view_behavior"
 .../>
 <android.support.design.widget.BottomNavigationView
 app:layout_behavior="@string/hide_bottom_view_on_scroll_behavior"
.../>
</android.support.design.widget.CoordinatorLayout>

现在,这已经足够好了,从某种意义上来说,当我在片段中滚动时,我的AppBar会折叠成标题(我想要的东西),但是我的bottomNavigationView不会对滚动做出反应。

我发现,如果我添加行

app:layout_behavior="@string/appbar_scrolling_view_behavior"

对于AppBarLyout xml声明,我得到bottomView在滚动事件时折叠(当我向上滚动时,它再次显示)。因此,基本上我可以折叠片段内的appbar或当我在片段中检测到滚动事件时就可以隐藏BottomNavigationView。

任何帮助将不胜感激,我已经连续三天对此失去主意。

0 个答案:

没有答案