android - 底部导航栏在尝试滚动时隐藏

标签 android scroll android-bottomnav

我有带底部导航栏的 Activity (通过 roughike BottomBar library )。它看起来像这样: enter image description here

当我尝试滚动页面时,底栏会自动隐藏。所以,我明白了: enter image description here

我想避免这种影响。当我只是想滚动内容但所有内容都在屏幕上时,我不想隐藏底栏。

但如果页面包含的内容超过一个屏幕,则底部栏必须在滚动时隐藏(现在它工作正常)。

我的代码没有任何滚动监听器,我的 xml 文件如下所示:

<android.support.design.widget.CoordinatorLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    tools:context=".presentation.ui.mainactivity.MainActivity"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/mainCord" >

    <android.support.design.widget.AppBarLayout
        android:id="@+id/sliderContainer"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_height="?attr/actionBarSize"
            android:layout_width="match_parent"
            android:background="@color/primary"
            android:theme="@style/ToolbarStyle"
            app:titleTextAppearance="@style/ToolbarStyle" />

    </android.support.design.widget.AppBarLayout>

    <android.support.v4.view.ViewPager
        android:id="@+id/pager"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior"
        android:visibility="gone" />

    <com.roughike.bottombar.BottomBar
        android:id="@+id/bottomBar"
        android:layout_width="match_parent"
        android:layout_height="60dp"
        android:layout_gravity="bottom"
        app:bb_tabXmlResource="@xml/bottom_bar_tabs"
        app:bb_activeTabColor="@color/white"
        app:bb_inActiveTabColor="@color/bottom_bar_inactive_tab"
        app:bb_inActiveTabAlpha="1"
        app:bb_behavior="shy|shifting" />
</android.support.design.widget.CoordinatorLayout>

我正在为我的问题寻找解决方案,但一无所获。我该怎么做才能避免这种影响?

更新:

FAB 在 ViewPager 中。屏幕截图上的选项卡布局如下所示:

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/eventCoordinatorLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <android.support.v4.widget.SwipeRefreshLayout
        android:id="@+id/refresh"
        android:visibility="visible"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >

        <android.support.v7.widget.RecyclerView
            android:id="@+id/eventsRecyclerView"
            android:scrollbars="vertical"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />

    </android.support.v4.widget.SwipeRefreshLayout>

    <LinearLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity = "center"
        android:gravity="center" >

        <TextView
            android:id="@+id/emptyText"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textColor="@color/secondary_text"
            android:textSize="16sp"
            android:gravity="center"
            android:text="@string/empty_events_text"
            android:drawableTop="@drawable/ic_no_calendar"
            android:drawablePadding="4dp"
            android:visibility="gone" />

        <TextView
            android:id="@+id/createEventText"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/create_event_text"
            android:textColor="@color/secondary_text"
            android:textSize="16sp"
            android:visibility="gone" />

        <TextView
            android:id="@+id/createEventButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textColor="@color/primary"
            android:text="@string/create_event"
            android:textSize="16sp"
            android:visibility="gone" />
    </LinearLayout>

    <android.support.design.widget.FloatingActionButton
        android:id="@+id/createEvent"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|end"
        android:src="@drawable/ic_add_white_24dp"
        style="@style/floating_action_button"
        app:layout_anchor="@id/eventsRecyclerView"
        app:layout_anchorGravity="bottom|end"
        app:borderWidth="0dp"
        app:elevation="6dp"
        app:pressedTranslationZ="12dp" />

    <RelativeLayout
        android:id="@+id/loadingPanel"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center" >

        <ProgressBar
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:indeterminate="true" />
    </RelativeLayout>
</android.support.design.widget.CoordinatorLayout>

最佳答案

app:bb_behavior="underNavbar"

以下代码有问题

<com.roughike.bottombar.BottomBar
    android:id="@+id/bottomBar"
    android:layout_width="match_parent"
    android:layout_height="60dp"
    android:layout_gravity="bottom"
    app:bb_tabXmlResource="@xml/bottom_bar_tabs"
    app:bb_activeTabColor="@color/white"
    app:bb_inActiveTabColor="@color/bottom_bar_inactive_tab"
    app:bb_inActiveTabAlpha="1"
    app:bb_behavior="shy|shifting" />

替换

app:bb_behavior="shy|shifting"

app:bb_behavior="underNavbar"

希望这对你有用!

关于android - 底部导航栏在尝试滚动时隐藏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40716653/

相关文章:

android:设置单个角时形状角不起作用

android - 如何在 BottomNavigationView 的 menuItem 上隐藏工具提示?

android - 如何为导航栏图标设置边距?

android - 用于在磁盘中存储文件以及在数据库中存储信息的内容提供程序

android - java.lang.SecurityException : Requires READ_PHONE_STATE: Neither user 10210 nor current process. 。仅限 HTC 手机

java - 如何正确解析 Firebase DataSnapshot 值

android - CoordinatorLayout 内具有 FloatingActionButton 的 BottomNavigationView 与位置不匹配

jquery - 无法读取未定义的属性 'top'

javascript - jQuery 在两个类之间滚动切换

javascript - jQuery localScroll 和 smoothScroll 不起作用