版权声明:我贴的代码,都是复制粘贴直接可用的;代码开源但并不代表代码免费
谷歌官方文档里叫BottomSheet(底部动作条),不过真心没有,值找到了BottomSheetDialog(底部表格式对话框,以下简称BSD)。具体效果就是从屏幕底部滑上来一个菜单,而且能一直向上滑动,是一个列表形式。这个菜单是通过适配器填充的,我最近一直用recyclerview来代替其他列表,所以今天亦是如此;这个BSD能满足更多需求,因为它是通过适配器填充的。运行了代码就知道了!
看一下效果图(形式一样不过是盗图,我一直没研究咋录制gif)
一 、 list.xml
这是列表中每一个item,其实按照我本意,里面的textview其实是所有的,所以你可以只放一个textview!
二 、 外置一个含有recyclerview的xml文件
<
三、activity中的代码 可以在任何事件中调用如下函数
private void openBottom() {
RecyclerView recyclerView = (RecyclerView) LayoutInflater.from(this).inflate(R.layout.recyclerview, null);
recyclerView.setItemAnimator(new DefaultItemAnimator());
recyclerView.setLayoutManager(new GridLayoutManager(this, 3));
BottomSheetAdapter adapter = new BottomSheetAdapter();
recyclerView.setAdapter(adapter);
final BottomSheetDialog dialog = new BottomSheetDialog(this);
dialog.setContentView(recyclerView);
dialog.show();
adapter.setOnItemClickListener(new BottomSheetAdapter.OnBottomItemClickListener() {
@Override
public void onItemClick(int position, String text) {
showToast(text);
dialog.dismiss();
}
});
}