您的位置:首页 > 移动开发 > Android开发

9GAG客户端,五一3天尽心之作,Just Android Design!(开源)+毛玻璃效果

2014-05-08 09:37 295 查看
转自
http://www.eoeandroid.com/forum.php?mod=viewthread&tid=332015
github地址:https://github.com/stormzhang/9GAG

开源是一种精神。请默赞。

9GAG-Android (unofficial)

9GAG 安卓客户端个人版

=====================

9GAG安卓客户端,遵从Android Design,完整开源啦。

开源地址:https://github.com/Mixiaoxiao/9GAG

作者大三学生一枚,详见about页面,有意合作或其他事宜请联系邮箱哦。

个人Email:chyechye@foxmail.com

图赏:注意:以下截图来自安卓4.4,其他安卓版本不支持通知栏与导航栏着色与透明化



几个特点:

1.完美的支持安卓4.4的TranslucentStatus与TranslucentNavigation特性,并适当给通知栏与导航栏着色使得整个界面更和谐

2.个人改进的支持刷新的ListView,顶部与底部使用带进度的圆形表示拉动状态

3.查看大图使用精确的坐标缩放动画,并使用渐现的高斯模糊背景衬托,图片drawable裁剪遵循“横向充满,长图顶部对齐”规则

4.tab栏没有使用actionBar自带的tab功能,使用PagerSlidingTabStrip(gitHub开源项目),支持了tab指示条的跟随ViewPager滑动而滑动

5.tab栏支持“QuickReturn”效果

6.基本完整style化的ActionBar

7.ActionBar标题字体自定义

8.Toast自定义

9.支持分享图片+文本,经测试微信与微博均可正常接收图片与文本信息,不排除有些应用只可获得图片或文本单一分享内容

10.自定义activity切换动画与安卓4.4完全一致

在原有基础上新增翻译:

使用有道翻译openApi,代码中的key请勿用做其他用途!!

翻译结果本地数据库保存

大图页的标题点击可以选择单词进行翻译

前些天版主一切随枫发布了开源9GAG客户端,假期比较闲,我个人也做了一款9GAG的安卓客户端。

图赏:



界面偏小清新,基本符合Android Design。(支持安卓4.0+)

几个特点:

1.完美的支持安卓4.4的TranslucentStatus与TranslucentNavigation特性,并适当给通知栏与导航栏着色使得整个界面更和谐

2.个人改进的支持刷新的ListView,顶部与底部使用带进度的圆形表示拉动状态

3.查看大图使用精确的坐标缩放动画,并使用渐现的高斯模糊背景衬托,图片drawable裁剪遵循“横向充满,长图顶部对齐”规则

4.tab栏没有使用actionBar自带的tab功能,使用PagerSlidingTabStrip(gitHub开源项目),支持了tab指示条的跟随ViewPager滑动而滑动

5.tab栏支持“QuickReturn”效果

6.基本完整style化的ActionBar

7.ActionBar标题字体自定义

8.Toast自定义

9.支持分享图片+文本,经测试微信与微博均可正常接收图片与文本信息,不排除有些应用只可获得图片或文本单一分享内容

10.自定义activity切换动画与安卓4.4完全一致(anim的xml从安卓源码中提取....)

其他遇到的问题:

使用aFinal的FinalDb时发现其不支持在不同的数据库文件内建立相同的对于bean的表,个人对此进行了修改。

SwipeBack效果与安卓4.4的TranslucentStatus存在一定冲突,故舍去不用。

apk附件:


NineGag_ByMixiaoxiao.apk(1.29
MB, 下载次数: 74)

稍候会根据大家的回复贴出功能实现方案与关键部分的代码,谢谢支持。

关键部分实现方案:

高斯模糊部分:


Blur.zip(3.57
KB, 下载次数: 19)

两个Java文件,MxxBlurView.java继承于view,直接放到布局的xml文件中,需要高斯模糊时调用MxxBlurView.drawBlurOnce()即可,将会把此view下面的“背景”部分高斯模糊后赋到view的background中。

radius为模糊半径,BITMAP_SCALE_FACTOR为模糊bitmap缩放,一般采用先缩小bitmap然后进行FastBlur运算,这样速度会快。

测试在小米2上,BITMAP_SCALE_FACTOR = 0.2f时对720*1000的view进行一次drawBlurOnce()大约需要20ms~60ms时间,已经基本满足需求。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: