当BottomAppBar从隐藏状态返回时,BottomAppBar FabCradleMargin减少,几乎变为平坦

时间:2018-12-20 02:40:36

标签: android-studio scroll floating-action-button androidx android-bottomappbar

在我的应用程序中导航并在hideonScroll设置为true时向上/向下滚动时,我的FabCradleMargin在底部应用程序栏中变得越来越少,几乎变得平坦,这是一个问题。当BottomAppBar从屏幕隐藏时,它将在“浮动动作”按钮下返回调整大小。在新的Android Material Components中必须是小故障。有没有其他人遇到这个问题。如果是这样,您有什么建议要修复它。

Before ImageAfter Image

<com.google.android.material.bottomappbar.BottomAppBar
    android:id="@+id/bar"
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:layout_gravity="bottom"
    app:elevation="4dp"
    app:fabAlignmentMode="center"
    app:fabCradleRoundedCornerRadius="2dp"
    app:hideOnScroll="true"
    app:layout_scrollFlags="scroll|enterAlways"
    app:navigationIcon="@drawable/ic_action_list" />

<com.google.android.material.floatingactionbutton.FloatingActionButton
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:backgroundTint="@color/blue500"
    app:fabSize="normal"
    app:layout_anchor="@+id/bar"
    app:tint="@color/white"
    app:layout_anchorGravity="right"
    app:srcCompat="@drawable/ic_select_camera" />

1 个答案:

答案 0 :(得分:0)

我也偶然发现了这个问题。就我而言,这取决于我尝试隐藏BottomAppBarFloatingActionButton的方式。这是我第一次(科特琳):

private fun showBottomNavigationBar(barVisibility: Boolean, fabVisibility: Boolean) {
    navView.visibility =  if(barVisibility)  BottomAppBar.VISIBLE else BottomAppBar.GONE
    fab.visibility =  if(fabVisibility)  FloatingActionButton.VISIBLE else FloatingActionButton.GONE
}

这是固定的原因:

private fun showBottomNavigationBar(barVisibility: Boolean, fabVisibility: Boolean) {
    navView.visibility =  if(barVisibility)  BottomAppBar.VISIBLE else BottomAppBar.GONE
    if (fabVisibility) fab.show() else fab.hide()
}

因此,我没有使用FloatingActionButton的hide()和show()方法来隐藏具有可见性属性的FloatingActionButton