在Android Java中实现底部抽屉

时间:2019-09-12 19:15:18

标签: java android material-design bottomnavigationview android-bottomappbar

我无法在android(java)中实现底部抽屉,也找不到有关其用法的任何有效示例/教程。您可以编写使用底部抽屉的示例代码吗? (https://material.io/components/navigation-drawer/#bottom-drawer

或者,我尝试使用下拉菜单,但我的应用仅需要底部抽屉

<com.google.android.material.bottomnavigation.BottomNavigationView
        android:id="@+id/navbottom"
        android:layout_width="match_parent"
        android:layout_height="64dp"
        android:layout_gravity="bottom"
        app:menu="@menu/menu_nav">    </com.google.android.material.bottomnavigation.BottomNavigationView>```

这是我底部导航视图的代码

这就是它的外观1

1 个答案:

答案 0 :(得分:0)

在您添加的屏幕截图中,我看到了类似于BottomSheet的内容。为了获得这种对话框外观,您可能需要使用BottomSheetDialogFragment,因此在下面我将解释如何在Activity中实现它。

1)首先,您需要创建一个类,该类将从BottomSheetDialogFragment扩展并为该片段使用的布局充气。

public class ExampleBottomSheetDialog extends BottomSheetDialogFragment {

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle 
savedInstanceState) {
        return inflater.inflate(*R.layout.bottom_sheet_layout*, container, false);
    }
}

2)然后,您需要创建*R.layout.bottom_sheet_layout*布局文件,该文件将保存所需的视图,并在需要时为其提供逻辑。

3)之后,可以以编程方式设置对话框逻辑。因此,例如,您可以通过按按钮打开此对话框。

Button buttonDialogBottomSheet = findViewById(R.id.btn_sh_dialog);
buttonDialogBottomSheet.setOnClickListener((v) -> {
    ExampleBottomSheetDialog bottomSheetDialog = new ExampleBottomSheetDialog();
    bottomSheetDialog.show(getSupportFragmentManager(), "simple tag");
});

如果您要查找标准底纸,请告诉我,我将更新答案。 上面编写的代码结果: link