Toast相关自定义toast 设置gravity不生效 尝试将 toast的layout 的子view 设置成固定 或matchparent ,其自定义toast的大小由子...
Toast相关自定义toast 设置gravity不生效 尝试将 toast的layout 的子view 设置成固定 或matchparent ,其自定义toast的大小由子...
MotionLayout + RecyclerView 需要做一些额外的处理才能有类似嵌套滑动的联动效果。
最近在学习自定义view中的文本绘制,以下为学习期间快速总结笔记: 1.文字绘制使用canvas.drawText() 2.文字绘制的坐标起点默认为文字左下角,横向右侧为正,...
使用dropLastWhile去掉末尾的0,去掉末尾的零后如果是点也要去掉 例子: private fun sum() { val num =100.000000000 ...
在"单Activity"架构的App中,页面功能常常由Fragment承载,而Fragment之间的通信方式往往有两种:通过Fragment Result API或ViewM...
一、系统适配相关的几个重要概念 手机的系统版本: 指的是手机的Android系统版本,例如Android8.0 应用的的设置版本: 1、minSdkVersion 是指支持到...
减少onBindViewHolder内的逻辑处理,分离数据处理和视图加载过程; 尽可能使用局部刷新,减少使用全部刷新; 如果ItemView的高度是固定,设置Recycler...
在我们尝试使用Kotlin作为开发语言的时候,应该会想到在Kotlin中如何定义一个常量,就像Java中这样的代码一样 在Kotlin中,提供了两个简单的关键字,一个是var...
(1)常用属性 (2)图片加载之前先计算图片大小 我们看一下上面的代码,那是解码一张本地图片,解码之后bitmap将占用内存空间,如果bitmap太大导致app性能降低,甚至...
RxJava中Schedulers(调度器):Rxjava解决多线程问题的机制 种类: Schedulers.io()用于IO密集型的操作,例如读写SD卡文件,查询数据库,访...
关于detach和remove的不同的文章博客,在网上随便一搜,一箩筐,大都是这么说的 生命周期的不同:当Fragment被detach后,Fragment的生命周期执行完o...
Android11正式版已经推出,我们将targetSdkVersion和compileSdkVersion都升级到30,并升级pixel4到Android11,发现分区存储...
CopyOnWriteArrayList 简介 在很多应用场景中,读操作可能会远远大于写操作。由于读操作根本不会修改原有的数据,因此如果每次读取都进行加锁操作,其实是一种资源...
一个 Task 是 Gradle 里项目构建的原子执行单元,Gradle 通过将一个个Task串联起来完成具体的构建任务,每个 Task 都属于一个 Project。关于 T...
onLongClick()的返回值 从View.setOnLongClickListener()说起,setOnLongClickListener()会为View设置一个长按...
来吧,今天说说常用的网络框架OKHttp,也是现在Android所用的原生网络框架(Android 4.4开始,HttpURLConnection的底层实现被Google改成...
之前一直使用systrace的同学强烈建议尝试下这个工具 一、perfetto介绍及特点 在Android 9.0(API级别28)或更高版本的设备上,可以使用 systra...
前言 最近有个想法——就是把 Android 主流开源框架进行深入分析,然后写成一系列文章,包括该框架的详细使用与源码解析。目的是通过鉴赏大神的源码来了解框架底层的原理,也就...
前言 上篇文章讲了线程安全问题[https://www.jianshu.com/p/669ee2aec526],要保证原子性,可见性和有序性的操作才能保证线程安全。也讲到了s...
一、背景 近期版本上线后收到不少用户反馈(大多是华为用户)崩溃,日志上总体表现为 pthread_create (1040KB stack) failed: XXX。 二、问...