04 2018 档案
摘要:*本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 从源码角度彻底分析三者底层实现.第一次写源码分析,小记一笔,由于本人才疏学浅,有很多地方可能存在误解和不足,还望大家在评论区批评指正. 一、引言 学Java很久了,一直处于使用API+查API的状态,不了解原理,久而久之总是觉得很
阅读全文
摘要:当项目配置好kotlin之后,一些关键字比如let,lazy等在报错.\ 看看项目的build.gradle中 classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" 是否与当前Android Studio是同一版本
阅读全文
摘要:在代码中动态加载布局,然后通过该View去findViewById找到子控件,进而监听点击事件 val mHeaderView = mMainNavigaView.inflateHeaderView(R.layout.layout_drawer_header) val mUserIconIv = m
阅读全文
摘要:行间距用android:lineSpacingExtra=”3dp”或者setLineSpacing(float add, float mult) 控制字间距用:android:letterSpacing=”0.2”或者setLetterSpacing(float letterSpacing)
阅读全文
摘要:在onBindViewHolder的时候不能移除item,否则会崩溃 java.lang.IllegalStateException: Cannot call this method while RecyclerView is computing a layout or scrolling andr
阅读全文
摘要:有时候需要横向滚动的列表,带给用户更佳的UI效果.比如下面这种: 这个时候我们在展示第一个item的同时也需要展示第二个item,那么可以看到 图中第二个item只展示了一点点头.其实就是动态设置每个item的宽度和padding 具体代码看下面 class HotSortCommonAdapter
阅读全文
摘要:1. JvmOverloads 在Kotlin中@JvmOverloads注解的作用就是:在有默认参数值的方法中使用@JvmOverloads注解,则Kotlin就会暴露多个重载方法。 可能还是云里雾里,直接上代码,代码解释一切: 如果我们在kotlin中写如下代码: fun f(a: String
阅读全文
摘要:json转List val mNewsSortList = Gson().fromJson(newsSortConfig, object : TypeToken<List<NewsSortBean>>() {} .type) as? MutableList<NewsSortBean> List转js
阅读全文
摘要:出错版本:不能这样用 ,forEach时不能操作元素 t?.itemList?.forEach { it -> if (it.type == "textCard" || it.type == "briefCard") { t.itemList?.remove(it) } } 错误: 03-18 09
阅读全文
摘要:android:fitsSystemWindows=”true” 是一个boolean值的内部属性,让view可以根据系统窗口(如status bar)来调整自己的布局, 如果值为true,就会调整view的padding属性来给system windows留出空间… 用于实现状态栏,即 沉浸式状态
阅读全文