底部动做条(BottomSheet)是一个从屏幕底部边缘向上滑出的一个面板,给用户呈现一组功能选项。底部动做条封装了一组简单、清晰、无需额外说明的操做。底部动做条(以下图)能够是列表样式的,也能够是宫格样式的。ide
根据Material Design设计规范,若是只有两个或更少的操做,能够考虑菜单或者对话框来实现。可是当有三个或三个以上的操做须要提供给用户选择时,底部动做条就有了用武之地,能够做为对话框和菜单的替代产品应用到实际的开发实践中。ui
笔者经过继承Dialog类实现了一个简单版本、列表样式的底部动做条,下面介绍具体的使用方法。this
安装方法 spa
在Android Studio中,以导入Module的方式添加BottomSheet依赖(jCenter Remote Library Dependency等待更新...)。设计
基本用法 3d
1 BottomSheet bottomSheet = new BottomSheet(this); 2 bottomSheet.setTitle("Bottom Sheet"); 3 bottomSheet.addItem(R.mipmap.quiz_bottom_download, "下载", new View.OnClickListener() { 4 @Override 5 public void onClick(View v) { 6 makeToast("下载!"); 7 bottomSheet.dismiss(); 8 } 9 }); 10 bottomSheet.addItem(R.mipmap.quiz_bottom_favorite, "喜欢", new View.OnClickListener() { 11 @Override 12 public void onClick(View v) { 13 makeToast("喜欢!"); 14 bottomSheet.dismiss(); 15 } 16 }); 17 bottomSheet.addItem(R.mipmap.quiz_bottom_answer, "答案", new View.OnClickListener() { 18 @Override 19 public void onClick(View v) { 20 makeToast("答案!"); 21 bottomSheet.dismiss(); 22 } 23 }); 24 bottomSheet.addItem(R.mipmap.quiz_bottom_share, "分享", new View.OnClickListener() { 25 @Override 26 public void onClick(View v) { 27 makeToast("分享!"); 28 bottomSheet.dismiss(); 29 } 30 }); 31 bottomSheet.show();
设计思想code
关键是对setContentView()方法的重写。setContentView()实际承担着底部动做条的绘制,事件处理的任务,读者能够对该方法定制实现本身底部动做条。blog
效果截图继承
下载连接:连接: http://pan.baidu.com/s/1gduaTOZ 密码: jnmu。 事件