Android Weekly Notes Issue #252
Android Weekly Issue #252
April 9th, 2017
Android Weekly Issue #252.
本期内容: 变化的渐变背景实现; Kotlin 1.1特性; Parcelable数据处理; RecyclerView动画实现; MVI模式的实现; 远程team的合作; 面向对象的原则: Law of Demeter; 用JUnit 5和Kotlin结合写测试.
(本期内容有点水, 不知道是我的状态不好还是Weekly的状态不好).
ARTICLES & TUTORIALS
Make a moving Gradient Background in Android
用AnimationList做一个不断改变的渐变色背景.
用根节点是<的drawable作为View的背景:
<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:drawable="@drawable/gradient_blue"
android:duration="5000"/>
<item
android:drawable="@drawable/gradient_red"
android:duration="5000"/>
<item
android:drawable="@drawable/gradient_teal"
android:duration="5000"/>
<item
android:drawable="@drawable/gradient_purple"
android:duration="5000"/>
<item
android:drawable="@drawable/gradient_indigo"
android:duration="5000"/>
</animation-list>
其中的item是不同的渐变色drawable, 比如:
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:angle="135"
android:endColor="#34e89e"
android:startColor="#0f3443" />
</shape>
在Java代码中获取, 然后start它即可:
LinearLayout linearLayout = (LinearLayout) findViewById(R.id.linear_layout);
AnimationDrawable animationDrawable = (AnimationDrawable) linearLayout.getBackground();
animationDrawable.setEnterFadeDuration(2500);
animationDrawable.setExitFadeDuration(5000);
animationDrawable.start();
另外, 作者推荐一个发现渐变色组合的网站: UiGradients.
Kotlin 1.1 is also for Android Developers
Kotlin 1.1带来的一些很酷的features.
Proper Parcelable Testing
作者写了一个继承Parcelable接口的类, 然后把它存在savedInstanceState的Bundle里, 本文是他使用时的一些小建议.
RecyclerView interaction with Animated Markers - Part 3
动画实现: 当滚动列表的时候, 对应的Marker在地图上突出显示.
My take on Model View Intent (MVI) — Part 1: State Renderer
作者很推荐MVI模式, 讲了自己的应用是如何实现这种模式的.
简要说了用Espresso对本程序进行自动化UI测试的方法.
Effective Remote Teams
remote team如何工作.
Object Oriented Tricks: #2 Law of Demeter
面向对象编程Tricks系列之2: Law of Demeter, 德米特法则.
每一个单元应该尽量少地知道其他单元的业务, 仅知道和自己紧密联系的单元业务. Tell Don't Ask.
JUnit 5: Kotlin
如何结合Kotlin和JUnit 5来写测试.
LIBRARIES & CODE
spruce-android
一个轻量级的动画库.
Traceur
一个RxJava2的debug工具, 可以打出异步调用的最初崩溃信息.
scratch
清除用户数据然后重启应用.
what_the_thing
拿着相机对着东西, 然后学习如何用不同的语言来说它们的一个app, 用React Native实现.
Android Weekly Notes Issue #252的更多相关文章
- Android Weekly Notes Issue #230
Android Weekly Notes Issue #230 November 6th, 2016 Android Weekly Issue #230. Android Weekly笔记, 本期内容 ...
- Android Weekly Notes Issue #227
Android Weekly Issue #227 October 16th, 2016 Android Weekly Issue #227. 本期内容包括: Google的Mobile Vision ...
- Android Weekly Notes Issue #237
Android Weekly Issue #237 December 25th, 2016 Android Weekly Issue #237 这是本年的最后一篇issue, 感谢大家. 本期内容包括 ...
- Android Weekly Notes Issue #229
Android Weekly Issue #229 October 30th, 2016 Android Weekly Issue #229 Android Weekly笔记, 本期内容包括: 性能库 ...
- Android Weekly Notes Issue #221
Android Weekly Issue #221 September 4th, 2016 Android Weekly Issue #221 ARTICLES & TUTORIALS And ...
- Android Weekly Notes Issue #219
Android Weekly Issue #219 August 21st, 2016 Android Weekly Issue #219 ARTICLES & TUTORIALS Andro ...
- Android Weekly Notes Issue #236
Android Weekly Issue #236 December 18th, 2016 Android Weekly Issue #236 本期内容包括: Google的物联网平台Android ...
- Android Weekly Notes Issue #235
Android Weekly Issue #235 December 11th, 2016 Android Weekly Issue #235 本期内容包括: 开发一个自定义View并发布为开源库的完 ...
- Android Weekly Notes Issue #234
Android Weekly Issue #234 December 4th, 2016 Android Weekly Issue #234 本期内容包括: ConstraintLayout的使用; ...
随机推荐
- 牛客网 Wannafly挑战赛11 A.白兔的分身术
水一水博客. 链接:https://www.nowcoder.com/acm/contest/73/A来源:牛客网 A.白兔的分身术 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C ...
- 空间划分的数据结构(网格/四叉树/八叉树/BSP树/k-d树/BVH/自定义划分)
目录 网格 (Grid) 网格的应用 四叉树/八叉树 (Quadtree/Octree) 四叉树/八叉树的应用 BSP树 (Binary Space Partitioning Tree) 判断点在平面 ...
- 在路上:安全公司“跨界”SD-WAN
编者按:本文是SDNLAB“企业+”特别报道之一.“企业+”是SDNLAB重点打造的栏目,汇聚信息行业运营商.设备商.互联网公司.软件公司.集成公司.融创投资公司.科研院所等企业,重新定义IT行业撮合 ...
- CDOJ_24 八球胜负
8球是一种台球竞赛的规则.台面上有7个红球.7个黄球以及一个黑球,当然还有一个白球.对于本题,我们使用如下的简化规则:红.黄两名选手轮 流用白球击打各自颜色的球,如果将该颜色的7个球全部打进,则这名选 ...
- about乘法逆元
本博客部分摘自 hwim 定义 乘法逆元的定义:若存在正整数a,b,p, 满足ab = 1(mod p), 则称a 是b 的乘法逆元, 或称b 是a 的乘法逆元.b ≡ a-1 (mod p),a ...
- andriod 获得应用程序名称
import android.annotation.TargetApi; import android.app.Activity; import android.app.AlertDialog; im ...
- iOS -- YYText富文本
NSMutableAttributedString *text = [[NSMutableAttributedString alloc] initWithString: [NSString strin ...
- K-L变换和 主成分分析PCA
一.K-L变换 说PCA的话,必须先介绍一下K-L变换了. K-L变换是Karhunen-Loeve变换的简称,是一种特殊的正交变换.它是建立在统计特性基础上的一种变换,有的文献也称其为霍特林(Hot ...
- byte 单位换算
1G就1GB啦,平时人们说1G只是简洁来说而已. bit(位).B(字节).K(千).M(兆).G(吉咖).T(太拉) B(Byte).KB(KiloByte).MB(MegaByte).GB(Gig ...
- 修改Qweb报表
Table of Contents 将报表的类型改为HTML 打印HTML格式报表 使用html editor 修改报表模板 使用Web builder修改报表 恢复报表格式 将报表的 ...