翻翻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中恢复已删除分支的几种方法》:本文主要介绍在Git中恢复已删除分支的几种方法,包括查找提交记录、恢复分支、推送恢复的分支等步骤,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录1. 恢复本地删除的分支场景方法2. 恢复远程删除的分支场景方法3. 恢复未推送的本地删除分支场景方法4. 恢复

C#实现WinForm控件焦点的获取与失去

《C#实现WinForm控件焦点的获取与失去》在一个数据输入表单中,当用户从一个文本框切换到另一个文本框时,需要准确地判断焦点的转移,以便进行数据验证、提示信息显示等操作,本文将探讨Winform控件... 目录前言获取焦点改变TabIndex属性值调用Focus方法失去焦点总结最后前言在一个数据输入表单

bat脚本启动git bash窗口,并执行命令方式

《bat脚本启动gitbash窗口,并执行命令方式》本文介绍了如何在Windows服务器上使用cmd启动jar包时出现乱码的问题,并提供了解决方法——使用GitBash窗口启动并设置编码,通过编写s... 目录一、简介二、使用说明2.1 start.BAT脚本2.2 参数说明2.3 效果总结一、简介某些情

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