自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 ConstraintLayout . Group、Barrier 的坑

Group 用于控制一群View的显示与隐藏。1、使用多个 Group 时,尽量不要将某个View重复的放在 多个 Group 中,实测可能会导致隐藏失效2、当 一个 View 被放到 Group 控制显隐状态时,若 Group 的状态是显示,则是没法在代码中隐藏这个 View 的(设置了GONE后能立即get到GONE,但下次get到的仍是VISIBLE,猜测是ConstraintLa...

2018-07-23 17:26:57 6303 1

原创 ConstraintLayout 中扁平使用阴影的方案

由于 ConstraintLayout  的设计理念,尽量不要在布局中使用View嵌套,可是当View需要阴影,而Android版本又不够5.0时,该如何在不嵌套的情况下做出阴影的效果呢?答:将布局分层:背景层,内容层 两个View来绘制一个View。背景层使用ShadowLayout作为有阴影效果的背景,而内容层覆盖在背景层的上层展示View的内容。如此由于内容层背景是透明的,看...

2018-07-20 17:22:59 2728

原创 LiveData 理解笔记 - 抽象例子、自动移除 source、Observer 原理

抽象理解:LiveData链式编程 = 插板value 改变 = 自身发电,每个插板都能自身发电addSource = 让此插板通过转换器插上其它插板,这些插板并不能直接连接通电,甚至不能通电,必须在插板A发电时,由插板B的连接转换器设置为(是否随着A发电)addObserver = 让插板接上电器lifecycle = 电器,分为好坏状态,可以砸坏,但无法修好0、让一个插板连接...

2018-07-20 15:23:52 3803

原创 GoogleDemo 学习

最近在看google官方的一个小项目例子,这是 google 为 2018 大会时出的新框架 lifecycle、room、navigation、work 等出的一个项目例子。https://github.com/googlesamples/android-architecture-components/tree/master/GithubBrowserSample我看例子看着看着被 re...

2018-07-19 15:10:24 1104

原创 类内部对成员变量的操作 应该使用 getter+setter 好?还是直接使用变量好?

class User { private String name; private int age; public void ageAdd() { age++;//直接使用变量 setAge(getAge() + 1);//使用getter,setter }应当直接使用变量;从可读性的角度考虑,当查看一个成员变量的使用者时,Ctrl...

2018-07-16 10:55:08 992

原创 百度地图 Zoom 焦距程度记录

使用测试页面测试地图焦距效果:seekBar.setOnSeekBarChangeListener(object : SeekBar.OnSeekBarChangeListener { override fun onProgressChanged(seekBar: SeekBar?, progress: Int, fromUser: Boolean) { val f = ...

2018-07-05 16:49:20 2690

原创 RxJava 学习笔记4 - lift()

fun start() { Observable.create<String> { println("onSubscribe") it.onNext("1") }.lift<Int> { subscriber -> println("lift") //感觉像是自己手动实现 map ...

2018-07-02 17:32:27 213

原创 RxJava 学习笔记 3 - map()

fun start() { //中间的计算符 map Observable.create<Int> { t: Subscriber<in Int>? -> t?.onNext(1) }.map { it: Int -> return@map it + 1 }.map { it: Int ->...

2018-07-02 17:26:30 264

原创 RxJava 学习笔记 2 - from(array)

fun start() { //解析 from - 多个 OnSubscribe(订阅回调) Observable.from(arrayOf(1, 2, 3, 4, 5)).subscribe { print(it) } /* 中心思想: 使用多态扩展了 OnSubscribe.call() 使其对 subscribe 的调用形式发生变化。 最终实现多次调用 ...

2018-07-02 17:19:12 1382

原创 RxJava 学习笔记 1 - 最简单的 create + subscribe

/* 首先,要知道英文单词的含义, observe(观察、说、注意到) observer(观察者) able(有能力的、能够) observable(可观察的事物、看得见的) subscribe(订阅)——常见于YouTube subscriber(订阅者)——点击subscribe,你就是youTuber的Subscriber了 onSubscribe(...

2018-07-02 17:08:02 637

原创 RxJava concat 不往下走

非常简单的使用测试:Observable.<String>concat( Observable.<String>create(subscriber -> subscriber.onNext("1")), Observable.<String>create(subscriber -> subscriber.onNext(...

2018-07-02 16:32:34 1105

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除