浮动操作按钮显示在导航抽屉上

Phi*_*zin 7 android navigation-drawer material-design floating-action-button

所以我使用https://github.com/neokree/MaterialNavigationDrawer作为我的导航抽屉和https://gist.github.com/Jogan/9def6110edf3247825c9作为我的FAB实现.当我打开导航抽屉时,它没有覆盖FAB,按钮出现在它上面.我想避免隐藏按钮并在抽屉打开/关闭时显示它,因为这会让人分心.有想法该怎么解决这个吗?

编辑:我正在以编程方式添加FAB执行以下操作:

fabButton = new FloatingActionButton.Builder(this)
            .withDrawable(getResources().getDrawable(R.drawable.ic_action_edit))
            .withButtonColor(0xFF2196F3)
            .withGravity(Gravity.BOTTOM | Gravity.END)
            .withMargins(0, 0, 16, 16)
            .create();
Run Code Online (Sandbox Code Playgroud)

将该声明更改为片段并不能解决问题.我上面链接的导航栏实现要求活动从MaterialNavigationDrawer类扩展,该类可能首先绘制导航抽屉,使按钮始终为最后.有没有办法以编程方式强制元素的排序?

Nik*_*ski 8

导航抽屉打开时,您会看到FAB,因为此FAB实现将FAB添加到内容视图(android.R.id.content).根据导航抽屉的实现,它们似乎在视图层次结构中处于同一级别.

如果您不想切换到不同的FAB实现.onDrawerSlide(View drawerView, float offset)打开抽屉时使用和更改FAB alpha.您也可以在内部onDrawerClose()onDrawerOpen()方法中切换其可见性.

编辑:

@Override
public void onDrawerSlide(View drawerView, float offset){
   fabButton.setAlpha(offset);
}
Run Code Online (Sandbox Code Playgroud)