开源项目:底部动作条(BottomSheet)
底部动作条(BottomSheet)是一个从屏幕底部边缘向上滑出的一个面板,给用户呈现一组功能选项。底部动作条封装了一组简单、清晰、无需额外说明的操作。底部动作条(如下图)可以是列表样式的,也可以是宫格样式的。
根据Material Design设计规范,如果只有两个或更少的操作,可以考虑菜单或者对话框来实现。但是当有三个或三个以上的操作需要提供给用户选择时,底部动作条就有了用武之地,可以作为对话框和菜单的替代产品应用到实际的开发实践中。
笔者通过继承Dialog类实现了一个简单版本、列表样式的底部动作条,下面介绍具体的使用方法。
安装方法
在Android Studio中,以导入Module的方式添加BottomSheet依赖(jCenter Remote Library Dependency等待更新...)。
基本用法
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();
设计思想
关键是对setContentView()方法的重写。setContentView()实际承担着底部动作条的绘制,事件处理的任务,读者可以对该方法定制实现自己底部动作条。
效果截图
下载链接:链接: http://pan.baidu.com/s/1gduaTOZ 密码: jnmu。