翻翻git之---足以取代底部PoPupWindows的强大控件 BottomSheet

本文主要是介绍翻翻git之---足以取代底部PoPupWindows的强大控件 BottomSheet,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

转载请注明出处:王亟亟的大牛之路

这两天都在忙公事吧,文章断更了2天,不过为了发而发反而影响质量,还是要弄一些至少大家有使用价值的东西,顺道把之前一直在安利的库每日一更了下,这里继续给出案例地址:https://github.com/ddwhan0123/Useful-Open-Source-Android


今天贴的是一个自定义的BottomSheet,先来贴下效果图

这里写图片描述

这里写图片描述

这里写图片描述

那些传统的分享啊,选择啊等等pop操作的事他都能干,而且他还是基于MD的设计(弄死那些脑残UI)。

作者写了一个使用介绍,是英文版的,英文好的小伙可以自己看http://soarcn.github.io/BottomSheet(我这里更多的做一个翻译和解释的操作)

OK,我们来看看怎么引用

Grade

 compile 'com.cocosw:bottomsheet:1.+@aar'

Maven

<dependency><groupId>com.cocosw</groupId><artifactId>bottomsheet</artifactId><version>1.x</version><type>apklib</type>
</dependency>

zip:https://github.com/soarcn/BottomSheet/zipball/master
tar.gz:https://github.com/soarcn/BottomSheet/tarball/master

这边补充下,要使用的话 Compile版本要在 21+

使用的话就android 2.1+都可以

作者做了一些列的引用场景,诸如从XML中读取每一条item内容的,像这样

<menu xmlns:android="http://schemas.android.com/apk/res/android"><item android:id="@+id/share" android:title="@string/share" android:icon="@drawable/perm_group_messages"/><item android:id="@+id/upload" android:title="@string/upload" android:icon="@drawable/perm_group_system_clock"/><item android:id="@+id/call" android:title="@string/call" android:icon="@drawable/perm_group_phone_calls"/><group android:id="@+id/helpgroup"><item android:id="@+id/help" android:title="@string/help" android:icon="@drawable/perm_group_system_tools"/></group>
</menu>

然后在我们的业务类里面做一下操作,就可以完成点击的逻辑行为了

new BottomSheet.Builder(this).title("title").sheet(R.menu.list).listener(new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {switch (which) {case R.id.help:q.toast("Help me!");break;}}}).show();

You can get a menu object from bottomsheet instance from 1.1.0, and change it as you want, exactly like you manipulating android menu or actionbar actionitems. Please be aware that if you change the menu after showing the bottomsheet, you must call invalidate(), or no changes would be applied and your app might crash. Please check example application for more info.

获得bottomsheet实例的菜单对象,并改变它,你完全一样操纵机器人菜单或动作条actionitems 。请注意,如果你显示bottomsheet后更改菜单,您必须调用invalidate( ) ,或者没有修改将被应用,你的应用程序可能会崩溃。更多信息请查看示例应用程序。


当然,既然遵循MD那肯定也会有黑白2个风格,那首先你得预先设置个字的风格样式,像这样

  <style name="BottomSheet.StyleDialog" parent="BottomSheet.Dialog"><item name="android:backgroundDimAmount">0.5</item><item name="android:windowAnimationStyle">@style/BottomSheet.Animation</item><item name="android:textColorPrimary">#DDffffff</item><item name="android:textColorSecondary">#8Affffff</item><item name="android:textColorHint">#42ffffff</item><item name="bs_dialogBackground">@color/abc_search_url_text_normal</item><item name="bs_dividerColor">@color/abc_search_url_text_pressed</item><item name="bs_numColumns">4</item><item name="bs_listStyle">@style/BottomSheet.StyleList</item></style>

然后在我们的Activity里做一下操作:

new BottomSheet.Builder(this, R.style.BottomSheet_StyleDialog).title("To " + adapter.getItem(position)).sheet(R.menu.list).listener(new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {ListAcitivty.this.onClick(adapter.getItem(position), which);}}).build();

作者是一个在悉尼的中国人(智商长得像中国人) Git:https://github.com/soarcn

有技术问题或者有私活可以微信我,记得标明出处,不然一般我都会无视,写写

这里写图片描述

周末愉快!!!!(下面那部分我本意不怎么想贴,但是貌似群众们还很喜欢,那就继续贴吧)

这里写图片描述

这篇关于翻翻git之---足以取代底部PoPupWindows的强大控件 BottomSheet的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/547093

相关文章

git使用的说明总结

Git使用说明 下载安装(下载地址) macOS: Git - Downloading macOS Windows: Git - Downloading Windows Linux/Unix: Git (git-scm.com) 创建新仓库 本地创建新仓库:创建新文件夹,进入文件夹目录,执行指令 git init ,用以创建新的git 克隆仓库 执行指令用以创建一个本地仓库的

git ssh key相关

step1、进入.ssh文件夹   (windows下 下载git客户端)   cd ~/.ssh(windows mkdir ~/.ssh) step2、配置name和email git config --global user.name "你的名称"git config --global user.email "你的邮箱" step3、生成key ssh-keygen

查看提交历史 —— Git 学习笔记 11

查看提交历史 查看提交历史 不带任何选项的git log-p选项--stat 选项--pretty=oneline选项--pretty=format选项git log常用选项列表参考资料 在提交了若干更新,又或者克隆了某个项目之后,你也许想回顾下提交历史。 完成这个任务最简单而又有效的 工具是 git log 命令。 接下来的例子会用一个用于演示的 simplegit

记录每次更新到仓库 —— Git 学习笔记 10

记录每次更新到仓库 文章目录 文件的状态三个区域检查当前文件状态跟踪新文件取消跟踪(un-tracking)文件重新跟踪(re-tracking)文件暂存已修改文件忽略某些文件查看已暂存和未暂存的修改提交更新跳过暂存区删除文件移动文件参考资料 咱们接着很多天以前的 取得Git仓库 这篇文章继续说。 文件的状态 不管是通过哪种方法,现在我们已经有了一个仓库,并从这个仓

忽略某些文件 —— Git 学习笔记 05

忽略某些文件 忽略某些文件 通过.gitignore文件其他规则源如何选择规则源参考资料 对于某些文件,我们不希望把它们纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。通常它们都是些自动生成的文件,比如日志文件、编译过程中创建的临时文件等。 通过.gitignore文件 假设我们要忽略 lib.a 文件,那我们可以在 lib.a 所在目录下创建一个名为 .gi

取得 Git 仓库 —— Git 学习笔记 04

取得 Git 仓库 —— Git 学习笔记 04 我认为, Git 的学习分为两大块:一是工作区、索引、本地版本库之间的交互;二是本地版本库和远程版本库之间的交互。第一块是基础,第二块是难点。 下面,我们就围绕着第一部分内容来学习,先不考虑远程仓库,只考虑本地仓库。 怎样取得项目的 Git 仓库? 有两种取得 Git 项目仓库的方法。第一种是在本地创建一个新的仓库,第二种是把其他地方的某个

Git 的特点—— Git 学习笔记 02

文章目录 Git 简史Git 的特点直接记录快照,而非差异比较近乎所有操作都是本地执行保证完整性一般只添加数据 参考资料 Git 简史 众所周知,Linux 内核开源项目有着为数众多的参与者。这么多人在世界各地为 Linux 编写代码,那Linux 的代码是如何管理的呢?事实是在 2002 年以前,世界各地的开发者把源代码通过 diff 的方式发给 Linus,然后由 Linus

集中式版本控制与分布式版本控制——Git 学习笔记01

什么是版本控制 如果你用 Microsoft Word 写过东西,那你八成会有这样的经历: 想删除一段文字,又怕将来这段文字有用,怎么办呢?有一个办法,先把当前文件“另存为”一个文件,然后继续改,改到某个程度,再“另存为”一个文件。就这样改着、存着……最后你的 Word 文档变成了这样: 过了几天,你想找回被删除的文字,但是已经记不清保存在哪个文件了,只能挨个去找。真麻烦,眼睛都花了。看

lvgl8.3.6 控件垂直布局 label控件在image控件的下方显示

在使用 LVGL 8.3.6 创建一个垂直布局,其中 label 控件位于 image 控件下方,你可以使用 lv_obj_set_flex_flow 来设置布局为垂直,并确保 label 控件在 image 控件后添加。这里是如何步骤性地实现它的一个基本示例: 创建父容器:首先创建一个容器对象,该对象将作为布局的基础。设置容器为垂直布局:使用 lv_obj_set_flex_flow 设置容器

IntelliJ IDEA - 强大的编程工具

哪个编程工具让你的工作效率翻倍? 在日益繁忙的工作环境中,选择合适的编程工具已成为提升开发者工作效率的关键。不同的工具能够帮助我们简化代码编写、自动化任务、提升调试速度,甚至让团队协作更加顺畅。那么,哪款编程工具让你的工作效率翻倍?是智能的代码编辑器,强大的版本控制工具,还是那些让你事半功倍的自动化脚本?在这里我推荐一款好用的编程工具:IntelliJ IDEA。 方向一:工具介绍 Int