7 AItsuki

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 3w+

ViewPager2滑动事件冲突

1. 场景分析RecyclerView或SwipeRefreshLayout中嵌套ViewPager2,ViewPager2左右滑动困难,事件容易给RecyclerView或SwipeRefreshLayout吃掉。ViewPager2中嵌套SwipeRefreshLayout,SwipeRefreshLayout和RecyclerView上下滑动困难。解决方案分是干预事件分发,判断手势是左右或上下滑动。2. 代码实现<!--values/attrs.xml-->

2020-05-11 12:09:09

Kotlin与Gson与Moshi

文章目录Kotlin与Gson与MoshiGson在Kotlin中的问题希望是什么样的MoshiKotlin与Gson与MoshiSafe Parsing Kotlin Data-classes with GsonGson在Kotlin中的问题Kotlin的Data Classes和非空类型很好用,Gson解析库也很好用,但是当他们两个结合起来时就非常的糟糕……假设服务器某个api会...

2019-12-19 01:10:16

集合的modCount字段和Fail-Fast,Fail-Safe机制解释

发现前面博客遗失了一篇ArrayList源码解析的文章,这里就不打算重写了,但是其中关于Fail-Fast机制的知识还是有必要记录一下。Fail-Fast机制集合类数据类型都有一个迭代器用于遍历集合,这样的设计是为了能使用共同的方式迭代集合,而不依赖于集合的类型的具体实现,比如无论哪种集合类型,都能使用foreach迭代。但是在这个迭代过程中,我们需要防止通过原集合的提供的api对集合进行修...

2019-06-18 06:08:31

AndroidStudio 设置Gradle插件日志打印级别

AndroidStudio Build窗口默认只显示Error级别的日志想看其他级别的日志,执行命令时需要带上参数,如./gradlew --debug assembleDebug。可以通过设置AndroidStudio更方便的修改打印的日志级别:下面是显示info级别...

2019-03-18 18:23:30

lifecycle-aware components(生命周期感知组件用法和原理)

Android and ArchitectureAndroid lifecycle-aware components codelabhttps://github.com/googlecodelabs/android-lifecyclessavedInstanceState和 fragment.setRetainInstance以及 viewmodel的区别Demo使用方式:文章配合D...

2019-02-28 14:32:35

小心Sqlite的autoincrement可能会让你产生误解

参考:https://www.sqlite.org/autoinc.htmlhttps://www.sqlite.org/lang_createtable.html#rowid「译」sqlite为什么autoincrement不推荐使用2018/09/15Sqlite官方:不推荐使用autoincrement很多开发者在数据库建表时,都会自然而然的将主键声明为autoincremen...

2019-02-19 15:45:09

Android调用系统相机和相册,解决图片方向问题,压缩图片

如果还需要裁剪、压缩等功能推荐使用bilibili开源的boxing。https://github.com/Bilibili/boxing旋转图片的代码来源于此。1. 图片方向问题拍照或者从相册中选择图片后,我们都可以直接或间接的得到Uri或源文件。通过imageView.setImageUri(uri)不会引发图片方向不正确的问题。但是通过BitmapFactory.decodeFil...

2018-11-27 19:46:58

properties乱码,Transparent native-to-ascii conversion

1. 遇到的问题2. 乱码产生的原因3. 配置编码4. Transparent native-to-ascii conversion5. 为以后的项目也采用这个编码设置1. 遇到的问题properties中配置的国际化资源引发的乱码问题 2. 乱码产生的原因默认情况下,项目中的配置文件编码跟随系统。如下图,==配置文件跟随系统为GBK编码,而J...

2018-08-29 06:55:23

HashMap实现原理和源码分析

《算法 第4版本》 3.4 散列表 知乎-R神:关于hashMap的一些按位与计算的问题? 知乎-美团:Java 8系列之重新认识HashMap 新浪博客-无敌宝贝:取余与位运算1. 散列表(哈希表)1.1 散列函数 hashCode()1.2 除留余数法1.3 基于拉链法的散列表1.4 基于线性探测法的散列表(开放地址散列表)2. HashMap源码...

2018-05-13 21:06:54

符号引用和直接引用,解析和分派

知乎-RednaxelaFX——JVM里的符号引用如何存储? 【深入理解JVM】:解析与分派1. 符号引用2. 直接引用3. 解析4. 分派4.1 静态分派4.2 动态分派5. 总结5.1 符号引用5.2 直接引用5.3 解析5.4 分派1. 符号引用 这部分内容来自知乎RednaxelaFX大神的回答考虑这样一个Ja...

2018-04-27 11:53:25

【字符编码】你真的了解字符编码吗

腾讯大讲堂——字符编码的前世今生 字符串,那些你不知道的事 编码字符集标准及分类研究 通信用語の基礎知識 —— ISO/IEC 2022 ISO 2022 介紹(1): 標準1. 说明1.1 字符编码贡献的相关的组织1.2 相关术语说明2. 字符编码的发展2.1 ASCII2.2 EASCII2.3 ISO/IEC 6462.4 ISO...

2018-04-21 02:06:37

Serializable和Parcelable

Parcelable vs Serializable 性能对比 Android Parcel对象详解 Parcelable最强解析1. Serializable原理2. Parcelable原理3. 总结当我们使用Intent传递一个对象的时候,需要实现序列化接口或者实现Parcelable接口。 用法很容易找到资料,这里不再赘述,推荐看这篇文章:...

2018-04-21 02:05:14

【闭包】你真的理解闭包和lambda表达式吗

1. 前言2. 【译】lambda表达式和闭包的区别3. 历史考据4. 总结1. 前言在阅读Think in java时,关于内部类的作用中出现了闭包这个词。于是开始百度,了解到了怎么使用代码定义一个闭包,闭包能实现什么妙用。而这种答案是不能让人满意的,因为这样的回答会让人感觉闭包是编程语言设计者设计出来的一个很蠢的东西。例如这种类型的回答: - 闭包能实现...

2018-04-10 05:54:47

EditText的Gravity居右时,游标在hint左边的解决方案。

解决方案看这篇文章,原理是用一个TextView代替hint。解决EditText文字右对齐时光标出现在hint文字的左边的问题因为项目中也遇到了这个问题,所以将这个方法写成了一个自定义控件方便使用。/** * Created by AItsuki on 2018/3/13. * * hintView可能不能完全和EditText契合。 * 因为这里很难复制EditText的所...

2018-03-13 11:38:46

自定义属性中使用android原生属性

有时候我们使用自定义属性时,可能会遇到需要使用android已有属性的情况。比如,大家有遇到过EditText设置右对齐gravity="right"的时候,如果存在hint,那么EditText游标的初始位置会在hint文字的左边的问题吗?关于这个问题比较通用的一个解决方法,请先瞄一眼这篇文章:解决EditText文字右对齐时光标出现在hint文字的左边的问题假如我们将这个解决方案封...

2018-03-12 21:13:08

使用和获取Android的主题属性

参考文章: Android,如何在代码中获取attr属性的值 1. layout布局文件中使用主题属性很多时候,我们想引用主题中的属性(attr)。例如 - colorBackGround:activity默认背景 - listChoiceBackgroundIndicator:listView中item使用的背景selector这些在layout文件中使用时很简

2018-01-24 12:02:36

drawable和mipmap目录

1. 前言11月分劳务派遣进了家大公司orz,开始一个新的项目。当我将一张切图分别放在drawable的各个dpi文件夹后,同事和我说不需要弄那么多份切图放在drawable中,没必要,而且会增大apk包的大小,放一份切图到mipmap-xhdpi中就够了。我很好奇为什么,但是他并没有回答我,去群里问了下,他们都说我同事说的是对的,我感觉有点不对劲,我一直以为mipmap是专门用来放置la

2018-01-12 06:28:01

Retrofit统一处理服务器返回参数

想了下还是写下这篇博客,去年遇到的一个坑。 关于这个服务器返回的请求状态,我以前用的是这种方式: 给 Android 开发者的 RxJava 详解 RxJava+Retrofit,在联网返回后如何先进行统一的判断?这种方式对服务器返回的Json格式有要求,必须是这种样子的:{ "status": 1, "msg": "message", "data":{}}然后用这样的一个类去接

2017-03-28 15:43:02

使用少量代码实现自己的RecyclerView侧滑菜单

没有找到自己想要的效果的侧滑菜单,花了些时间研究了一下能完成项目需求就行了。效果如下: 因为逻辑比较简单,总代码量500行左右,所以各种各样的定制都通过修改源码能实现,而且不需要继承特定的Adapter,使用方式和普通的RecyclerView没有区别。一. 实现一个侧滑菜单这里我使用DragHelper实现,支持左划和右划菜单,并且可以同时存在两个菜单。 通过判断xml中的layout_gra

2016-10-28 16:00:36

Dagger2 最清晰的使用教程

部分内容参考自: [Android]使用Dagger 2依赖注入 - DI介绍(翻译) [Android]使用Dagger 2依赖注入 - API(翻译)为什么网上这么多dagger2教程,我还写了这篇文章。找了很多Dagger2相关的博客,我看的脑浆炸裂……Dagger2给我们带来了什么,大多数博文也没有说明手动写写,加深印象,骗骗粉丝 (手动滑稽)部分Dagger2的运作机制是我个

2016-09-20 18:29:17

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。