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的更多相关文章

  1. Android Weekly Notes Issue #230

    Android Weekly Notes Issue #230 November 6th, 2016 Android Weekly Issue #230. Android Weekly笔记, 本期内容 ...

  2. Android Weekly Notes Issue #227

    Android Weekly Issue #227 October 16th, 2016 Android Weekly Issue #227. 本期内容包括: Google的Mobile Vision ...

  3. Android Weekly Notes Issue #237

    Android Weekly Issue #237 December 25th, 2016 Android Weekly Issue #237 这是本年的最后一篇issue, 感谢大家. 本期内容包括 ...

  4. Android Weekly Notes Issue #229

    Android Weekly Issue #229 October 30th, 2016 Android Weekly Issue #229 Android Weekly笔记, 本期内容包括: 性能库 ...

  5. Android Weekly Notes Issue #221

    Android Weekly Issue #221 September 4th, 2016 Android Weekly Issue #221 ARTICLES & TUTORIALS And ...

  6. Android Weekly Notes Issue #219

    Android Weekly Issue #219 August 21st, 2016 Android Weekly Issue #219 ARTICLES & TUTORIALS Andro ...

  7. Android Weekly Notes Issue #236

    Android Weekly Issue #236 December 18th, 2016 Android Weekly Issue #236 本期内容包括: Google的物联网平台Android ...

  8. Android Weekly Notes Issue #235

    Android Weekly Issue #235 December 11th, 2016 Android Weekly Issue #235 本期内容包括: 开发一个自定义View并发布为开源库的完 ...

  9. Android Weekly Notes Issue #234

    Android Weekly Issue #234 December 4th, 2016 Android Weekly Issue #234 本期内容包括: ConstraintLayout的使用; ...

随机推荐

  1. CentOS6.7安装部署LNMP(nginx1.8.0+php5.6.10+mysql5.6.12)

    IP-10.0.0.8 1.安装nginx mkdir -p /server/tools cd /server/tools yum install -y pcre pcre-devel openssl ...

  2. 【ZJOI2017】树状数组

    题目描述 漆黑的晚上,九条可怜躺在床上辗转反侧.难以入眠的她想起了若干年前她的一次悲惨的 OI 比赛经历.那是一道基础的树状数组题. 给出一个长度为 $n$ 的数组 $A$,初始值都为 $0$,接下来 ...

  3. 转载cookie理解

    本文转自https://www.cnblogs.com/dojo-lzz/p/5580301.html 服务器端像客户端发送Cookie是通过HTTP响应报文实现的,在Set-Cookie中设置需要像 ...

  4. 一个jdbc connection连接对应一个事务

    Spring保证在methodB方法中所有的调用都获得到一个相同的连接.在调用methodB时,没有一个存在的事务,所以获得一个新的连接,开启了一个新的事务. Spring保证在methodB方法中所 ...

  5. Oracle SOA Suit Adapter

    SOA架构的一个核心的使命是整合企业现存的各式各样的计算资源,它不仅仅是代码层面的整合,更是硬件,计算能力,服务能力的整合.Oracle SOA Suite在这方面做得特别的贴切,它提供了一组Adap ...

  6. Android 蓝牙 笔记

    安卓:短信复制机制 软件识别蓝牙 软件可以读取蓝牙的信息 给蓝牙弄上一个类似于短信的东西 并且存一个短信 然后发到客户端 客户端 可以分类  分成表格 形式 这样做的目的是为了 让你的设备可以写蓝牙给 ...

  7. Android应用开发之所有动画使用详解

    题外话:有段时间没有更新博客了,这篇文章也是之前写了一半一直放在草稿箱,今天抽空把剩余的补上的.消失的这段时间真的好忙,节奏一下子有些适应不过来,早晨七点四十就得醒来,晚上九点四十才准备下班,好像最近 ...

  8. JavaScript中的Math方法演示

    <html> <head> <script type="text/javascript"> var num = 12.4; alert(Math ...

  9. Leet Code OJ 338. Counting Bits [Difficulty: Medium]

    题目: Given a non negative integer number num. For every numbers i in the range 0 ≤ i ≤ num calculate ...

  10. 南阳 oj 表达式求值 题目35 数据结构 NYO题目链接

     建议不会的看别人的代码自己在之上模拟一遍,仅仅要耐心模拟就会做出来 题目链接:http://acm.nyist.net/JudgeOnline/problem.php? pid=35 #incl ...