底部动作条(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。

转载于:https://www.cnblogs.com/warnier-zhang/p/4904296.html

开源项目:底部动作条(BottomSheet)相关推荐

  1. Android开源项目以及开源框架,各种UI实现效果

    开源项目和开源框架第一期 图片 Android-Universal-Image-Loader★15152 - 异步图像加载程序 glide★15006 - 媒体管理和图片加载框架 picasso★13 ...

  2. Android开源项目以及开源框架,各种UI实现效果。

    开源项目和开源框架第一期 图片 Android-Universal-Image-Loader★15152 - 异步图像加载程序 glide★15006 - 媒体管理和图片加载框架 picasso★13 ...

  3. Android系统(97)---开源项目分类整理

    200多个开源项目分类整理,Android开发者珍藏必备 原文地址 http://www.apkbus.com/blog-955606-77825.html 日历 星期视图日历 https://git ...

  4. 【转】GitHub 优秀的 Android 开源项目

    转自:http://blog.csdn.net/shulianghan/article/details/18046021 主要介绍那些不错个性化的View,包括ListView.ActionBar.M ...

  5. GitHub 优秀的 Android 开源项目——转自多篇网络文章

    GitHub 优秀的 Android 开源项目 转自:http://blog.csdn.net/shulianghan/article/details/18046021 主要介绍那些不错个性化的Vie ...

  6. GitHub 优秀的开源项目学习

    转载:原博客地址http://blog.csdn.net/shulianghan/article/details/18046021 一.ListView android-pulltorefresh 一 ...

  7. gitub优秀的android开源项目

    原文地址为http://www.trinea.cn/android/android-open-source-projects-view/,作者Trinea 主要介绍那些不错个性化的View,包括Lis ...

  8. 优秀的 Android 开源项目

    为什么80%的码农都做不了架构师?>>>    摘要  转载http://www.trinea.cn/android/android-open-source-projects-vie ...

  9. 【转】Android 自己收集的开源项目和文章集合(持续更新至2018.12.17)

    2017-12-21 1.炫酷开屏动画框架 https://github.com/JoshuaRogue/FancyView 2.防京东,支付宝密码键盘和密码输入框 https://github.co ...

最新文章

  1. Zabbix实战之客户端自动注册
  2. OpenCV编写视频文件的实例(附完整代码)
  3. 实验吧 貌似有点难 伪造ip
  4. Django的分页器(paginator)
  5. php核心语法,PHP核心语法总结
  6. Cover团队在Kovan以太坊测试网部署xCOVER智能合约
  7. PowerShell因为在此系统中禁止执行脚本解决方法
  8. Java最大值和最小值
  9. js文字展示各种滚动效果
  10. 人人都可以参与开源!龙蜥社区最不容错过的开发者活动来了
  11. vue-app开发入门
  12. linux硬盘组合为raid0挂载
  13. css 效果之并列排列
  14. 【Python学习】Part 1 基础知识(1)——基本操作
  15. 计算机导论课后总结三
  16. 【窗体控件】:Button按钮控件
  17. 知乎爬虫逻辑的实现以及answer的提取
  18. 实例分享--消消乐也能做H5游戏?
  19. linux系统中病毒怎么解决,Linux 服务器中木马病毒及清除过程
  20. Guns项目实战(完整)

热门文章

  1. 生宣、熟宣、半生半熟宣纸各有什么特点?初学书法用哪种宣纸好?
  2. 小个子怎么能穿得优雅大方呢?
  3. 鱼腥草可以随便吃吗?
  4. 5G手机什么牌子的便宜一点
  5. 有一项调查显示:创业成功的年龄一般是在43岁左右
  6. 记住影响客户购买的3个决策关键
  7. 【leveldb】整体架构
  8. 操作系统————P1 概念、功能和目标
  9. Qt4_基于项的图形视图
  10. 风之大陆电脑版要下载c语言,风之大陆电脑版