- 博客(345)
- 资源 (19)
- 收藏
- 关注
原创 Android letterSpacing导致TextView文本被截断
(Android10 11目前有这个问题 Android15似乎有新的属性 但是没有可用的环境 没有验证)简介多个属性同时作用情况下 在系统为阿拉伯语情况下,显示英文文本字符串出现截断问题UX需求:1.有两个控件 address displayNameaddress自适应宽度 displayName在address之后占满剩余空间2.系统为阿拉伯语情况下控件位置需要调换(父控件 android:layoutDirection="locale" 实现)
2024-09-19 14:15:30
1275
原创 Kotlin学习笔记30 补充 作用域函数
参考链接https://www.kotlincn.net/docs/reference/scope-functions.html背景介绍1.本节主要讲述几个Kotlin库提供的几个方便的方法let、run、with、apply 以及 alsotakeIf以及 takeUnless2.let、run、with、apply 以及 also的主要作用是在对象的上下文中执行代码块3.当对一个对象调用这样的函数并提供一个 lambda 表达式时,它会形成一个临时作用域。在此作用域中,可
2021-11-17 19:19:51
2088
1
原创 Kotlin学习笔记29(完结篇) Flow part2 Flow的Buffer 中间操作符zip 打平 异常处理 Flow的完成 onCompletion的优势 onCompletion陷阱
参考链接示例来自bilibili Kotlin语言深入解析 张龙老师的视频1 Buffer 缓冲/** * Buffer 缓冲 * 这里没有使用缓冲 */private fun myMethod(): Flow<Int> = flow { for (i in 1..4) { delay(100) emit(i) }}fun main() = runBlocking { val time = measureTi.
2021-11-05 19:12:06
2269
原创 Kotlin学习笔记28 Flow part2 Flow引入 Flow的执行 取消 构建器 中间操作符 终端操作符 默认执行顺序 上下文相关
参考链接示例来自bilibili Kotlin语言深入解析 张龙老师的视频1 一个方法返回多个结果各种实现/** * 一个方法返回多个结果 * 方式1 返回一个集合 * 特点 * 1 方法本身是阻塞的,即主线程会进入该方法内部执行,一直执行到方法结束 * 2 集合本身是一次性返回给调用者的,即集合中的全部元素均已经获得之后才统一返回给调用端 */private fun myMethod(): List<String> = listOf("hello", "world.
2021-11-05 19:09:38
2707
原创 Recyclerview 显示多种布局 demo
效果图第一种布局文件item_title<?xml version="1.0" encoding="utf-8"?><layout xmlns:android="http://schemas.android.com/apk/res/android"> <data> <variable name="handler" type="com.example.startkot.
2021-11-02 09:36:27
991
原创 Kotlin学习笔记27 协程part7 父协程总是等待子协程执行完成 给协程取名字 协程操作符重载 让普通类也具有协程特点 协程线程与ThreadLocal
参考链接示例来自bilibili Kotlin语言深入解析 张龙老师的视频1 父协程总是等待子协程执行完成** * 父协程总是等待子协程执行完成 * 对于父协程来说,父协程总是会等待所有子协程完成,而不必显示地追踪由它启动的子协程,子协程也不需要调用自身的Job.join方法来让父协程等待子协程完成 */fun main() = runBlocking { val job = launch { repeat(5) { i -> l.
2021-10-23 14:00:00
958
原创 Kotlin学习笔记26 协程part6 协程与线程的关系 Dispatchers.Unconfined 协程调试 协程上下文切换 Job详解 父子协程的关系
参考链接示例来自bilibili Kotlin语言深入解析 张龙老师的视频1 协程与线程的关系import kotlinx.coroutines.*import java.util.concurrent.Executors/** * 协程与线程的关系:协程依赖于线程执行 * * 协程上下文:(Coroutine Context) * 协程总是在某个上下文中运行,这个上下文实际由CoroutineContext的一个实例来表示,该实例是由Kotlin标准库定义的 * 协程上下文本
2021-10-22 09:19:13
1391
转载 Android 手势识别 双指双击 双指缩放 单指双击
public class MainActivity extends AppCompatActivity implements View.OnTouchListener { private ViewGroup gestureListenerGroup; private GestureDetector gestureDetector; @Override protected void onCreate(Bundle savedInstanceState) { .
2021-10-19 19:45:00
3366
原创 Kotlin学习笔记25 协程part5 协程的同步与异步
参考链接示例来自bilibili Kotlin语言深入解析 张龙老师的视频1 程序运行时间统计measureTimeMillis/** * 程序运行时间统计measureTimeMillis * * Kotlin 提供了一个便利的内置函数来统计运行时间(measureTimeMillis) */fun main() = runBlocking { // Executes the given block and returns elapsed time in millisec
2021-10-15 19:19:28
1344
原创 Kotlin学习笔记24 协程part4 协程的取消与超时
参考链接示例来自bilibili Kotlin语言深入解析 张龙老师的视频1 如何取消协程import kotlinx.coroutines.*/** * 协程的取消 */fun main() = runBlocking { // 得到启用的协程myJob val myJob = GlobalScope.launch { repeat(200) { i -> println("hello $i")
2021-10-15 19:02:28
397
原创 Kotlin学习笔记23 协程part3 lambda表达式深入 挂起函数 全局协程
参考链接示例来自bilibili Kotlin语言深入解析 张龙老师的视频1 lambda表达式深入/** * lambda 表达式深入 * 当函数参数是函数时 并且该函数只有一个参数 可以不传入任何参数 * 之前讲lambda表达式时提到 当函数只有一个参数时 在调用该函数时 我们可以用it代替这个唯一参数 * 而这个it又是可以省略的 * 如果函数体内部没有使用it 就像是it这个参数不存在一样 * */fun main() { // test参数中有一个是函数
2021-10-03 08:38:48
239
原创 Kotlin学习笔记22 协程part2 join CoroutineScope 协程vs线程
参考链接示例来自bilibili Kotlin语言深入解析 张龙老师的视频1 Job的join方法import kotlinx.coroutines.*/** * Job的join方法 * 它会挂起协程 直到Job完成 * join能够实现多个协程合作 即 一个协程等待另一个协程完成后执行 * * Job是一个后台的Job。概念上讲,job是一个可以取消的 有生命周期的东西,job完成后它的生命周期就结束了 * A background job. Conceptually, a
2021-10-03 08:36:59
1489
1
原创 Kotlin学习笔记21 协程part1 基本概念
参考链接示例来自bilibili Kotlin语言深入解析 张龙老师的视频本节先介绍协程的相关概念 概念可能枯燥,我们先要了解协程中的相关概念 然后结合代码理解这些概念 加深印象协程的定义协程通过将复杂性放入库中来简化异步编程。程序的逻辑可以在协程中顺序地表达,而底层库为我们解决异步性协程库可以将用户代码地相关部分包装为回调、订阅相关事件(listener)、在不同地线程(甚至不同的机器)上调度,而代码如同顺序执行一样简单协程的描述协程就像是轻量级的线程。线程是由系统调度的,线程
2021-10-03 07:08:37
386
原创 Kotlin学习笔记20 阶段复习2
参考链接示例来自bilibili Kotlin语言深入解析 张龙老师的视频lambda表达式 内联函数Kotlin学习笔记 第三章 函数 高阶函数 lambda表达式 内联函数_积跬步 至千里-优快云博客_kotlin最佳实践解构声明 集合 集合的扩展方法 Range 异常 Throw关键字Kotlin学习笔记 第四章 解构声明 集合集合的扩展方法 Range 异常 Throw关键字_积跬步 至千里-优快云博客注解Kotlin学习笔记 第四章注解_积跬步 至千里-优快云博客
2021-09-28 22:00:00
234
原创 Kotlin学习笔记19 阶段复习1
参考链接示例来自bilibili Kotlin语言深入解析 张龙老师的视频基础部分Kotlin学习笔记 第一章开始 第二章 基础_积跬步 至千里-优快云博客类与继承Kotlin学习笔记 第二章 类与对象 第一节类与继承(补)_积跬步 至千里-优快云博客属性Kotlin学习笔记 第二章 类与对象 第二节属性_积跬步 至千里-优快云博客接口Kotlin学习笔记 第二章 类与对象 第三节接口 第四节 函数式接口_积跬步 至千里-优快云博客可见性 扩展属性与方法K
2021-09-26 21:22:28
297
原创 Kotlin学习笔记18 反射Part2
参考链接示例来自bilibili Kotlin语言深入解析 张龙老师的视频12 通过KClass获取泛型类型参数/** * 通过KClass获取泛型类型参数 */class MyTestClass<K,V> { val k:K ? = null val v:V ? = null}fun main() { // 获取KClass对象 val myTestClassType = MyTestClass::class // 获取泛型的类型集合
2021-09-24 19:47:50
242
原创 Kotlin学习笔记17 反射Part1
参考链接示例来自bilibili Kotlin语言深入解析 张龙老师的视频1 获取Java class和Kotlin KClass的方法// 获取Java class和Kotlin KClass的方法fun main() { // 获取Kotlin KClass val c = String::class println(c) // 获取Java class val c2 = String::class.java println(c2) p
2021-09-24 19:41:18
399
原创 Kotlin学习笔记 第四章 Java调用Kotlin
参考链接Kotlin官方文档https://kotlinlang.org/docs/home.html中文网站https://www.kotlincn.net/docs/reference/properties.htmlpdf也可以在这里下载https://www.kotlincn.net/docs/kotlin-docs.pdf大部分示例来自bilibili Kotlin语言深入解析 张龙老师的视频Part1知识点1 Kotlin属性 set get方法命名的变
2021-09-20 17:43:28
600
原创 Kotlin学习笔记 第四章Kotlin调用Java
参考链接Kotlin官方文档https://kotlinlang.org/docs/home.html中文网站https://www.kotlincn.net/docs/reference/properties.htmlpdf也可以在这里下载https://www.kotlincn.net/docs/kotlin-docs.pdf大部分示例来自bilibili Kotlin语言深入解析 张龙老师的视频Kotlin调用JavaPart1知识点1 调用Java m
2021-09-17 20:28:21
358
原创 Kotlin学习笔记 第四章注解
参考链接Kotlin官方文档https://kotlinlang.org/docs/home.html中文网站https://www.kotlincn.net/docs/reference/properties.html本系列为参考Kotlin中文文档https://download.youkuaiyun.com/download/u011109881/21418027整理的笔记pdf也可以在这里下载https://www.kotlincn.net/docs/kotlin-docs.
2021-09-16 20:25:08
224
原创 Kotlin学习笔记 第四章 解构声明 集合集合的扩展方法 Range 异常 Throw关键字
参考链接Kotlin官方文档https://kotlinlang.org/docs/home.html中文网站https://www.kotlincn.net/docs/reference/properties.html本系列为参考Kotlin中文文档https://download.youkuaiyun.com/download/u011109881/21418027整理的笔记pdf也可以在这里下载https://www.kotlincn.net/docs/kotlin-docs.
2021-09-15 20:55:12
182
原创 Kotlin学习笔记 第三章 函数 高阶函数 lambda表达式 内联函数
参考链接Kotlin官方文档https://kotlinlang.org/docs/home.html中文网站https://www.kotlincn.net/docs/reference/properties.html本系列为参考Kotlin中文文档https://download.youkuaiyun.com/download/u011109881/21418027整理的笔记pdf也可以在这里下载https://www.kotlincn.net/docs/kotlin-docs.
2021-09-12 01:23:07
749
原创 Kotlin学习笔记 第二章 类与对象 第一节类与继承(补)
参考链接Kotlin官方文档Kotlin docs | Kotlin本系列为参考Kotlin中文文档kotlin官方文档2020版.pdf-其它文档类资源-优快云下载第二章 第一节 类与继承主要知识点类-构造函数-创建类的实例-类成员继承-覆盖方法-覆盖属性-派生类初始化顺序-调用超类实现-覆盖规则抽象类伴生对象笔记package com.example.lib.d03classobjectimport java.io.File// 1.类的声..
2021-09-09 19:35:55
280
原创 Kotlin学习笔记 第二章 类与对象 第十四 十五节 委托 委托属性
参考链接Kotlin官方文档https://kotlinlang.org/docs/home.html中文网站https://www.kotlincn.net/docs/reference/properties.html本系列为参考Kotlin中文文档https://download.youkuaiyun.com/download/u011109881/21418027整理的笔记pdf也可以在这里下载https://www.kotlincn.net/docs/kotlin-docs.
2021-09-08 21:46:31
174
原创 Kotlin学习笔记 第二章 类与对象 第十二 十三节 对象表达式与对象声明 类型别名
参考链接Kotlin官方文档https://kotlinlang.org/docs/home.html中文网站https://www.kotlincn.net/docs/reference/properties.html本系列为参考Kotlin中文文档https://download.youkuaiyun.com/download/u011109881/21418027整理的笔记pdf也可以在这里下载https://www.kotlincn.net/docs/kotlin-docs.
2021-09-03 20:42:44
168
原创 Kotlin学习笔记 第二章 类与对象 第九节 泛型
参考链接Kotlin官方文档https://kotlinlang.org/docs/home.html中文网站https://www.kotlincn.net/docs/reference/properties.html本系列为参考Kotlin中文文档https://download.youkuaiyun.com/download/u011109881/21418027整理的笔记pdf也可以在这里下载https://www.kotlincn.net/docs/kotlin-docs.
2021-09-01 20:46:54
198
原创 Kotlin学习笔记 第二章 类与对象 第十节 内部类嵌套类
参考链接Kotlin官方文档https://kotlinlang.org/docs/home.html中文网站https://www.kotlincn.net/docs/reference/properties.html本系列为参考Kotlin中文文档https://download.youkuaiyun.com/download/u011109881/21418027整理的笔记pdf也可以在这里下载https://www.kotlincn.net/docs/kotlin-docs.
2021-08-31 21:04:36
147
原创 Kotlin学习笔记 第二章 类与对象 第十一节 枚举类 第八节密封类
参考链接Kotlin官方文档https://kotlinlang.org/docs/home.html中文网站https://www.kotlincn.net/docs/reference/properties.html本系列为参考Kotlin中文文档https://download.youkuaiyun.com/download/u011109881/21418027整理的笔记pdf也可以在这里下载https://www.kotlincn.net/docs/kotlin-docs.
2021-08-31 20:58:14
158
原创 Kotlin学习笔记 第二章 类与对象 第七节 数据类
参考链接Kotlin官方文档https://kotlinlang.org/docs/home.html中文网站https://www.kotlincn.net/docs/reference/properties.html本系列为参考Kotlin中文文档https://download.youkuaiyun.com/download/u011109881/21418027整理的笔记pdf也可以在这里下载https://www.kotlincn.net/docs/kotlin-docs.
2021-08-31 20:50:44
159
原创 Kotlin学习笔记 第二章 类与对象 第五节 可见性 第六节 扩展
参考链接Kotlin官方文档https://kotlinlang.org/docs/home.html中文网站https://www.kotlincn.net/docs/reference/properties.html本系列为参考Kotlin中文文档https://download.youkuaiyun.com/download/u011109881/21418027整理的笔记 不记得原pdf下载地址了Kotlin 核心编程第二章 第五节 可见性知识点 可见性笔记
2021-08-27 19:54:54
216
原创 Kotlin学习笔记 第二章 类与对象 第三节接口 第四节 函数式接口
参考链接Kotlin官方文档https://kotlinlang.org/docs/home.html中文网站https://www.kotlincn.net/docs/reference/properties.html本系列为参考Kotlin中文文档https://download.youkuaiyun.com/download/u011109881/21418027整理的笔记 不记得原pdf下载地址了第二章 第三节 接口主要知识点1 如何定义接口2 如何实现接口3 接
2021-08-25 20:49:40
181
原创 Kotlin学习笔记 第二章 类与对象 第二节属性
参考链接Kotlin官方文档https://kotlinlang.org/docs/home.html中文网站https://www.kotlincn.net/docs/reference/properties.html本系列为参考Kotlin中文文档https://download.youkuaiyun.com/download/u011109881/21418027整理的笔记 不记得原pdf下载地址了第二章 第二节 属性主要知识点1 声明属性2 访问属性3 Gette
2021-08-25 20:48:25
199
原创 Kotlin学习笔记 第一章开始 第二章 基础
参考链接Kotlin官方文档https://kotlinlang.org/docs/home.html本系列为参考Kotlin中文文档https://download.youkuaiyun.com/download/u011109881/21418027整理的笔记 不记得原pdf下载地址了第一章 开始知识点1.kotlin主函数入口 kotlin方法2.变量string 模板条件表达式空值检测类型检测与自动类型转换使用For循环使用while循环使用when表达式...
2021-08-22 11:05:06
447
2
原创 红橙Darren视频笔记 builder设计模式 navigationbar 导航栏第二版
1.builder设计模式简介builder的实际应用的典型案例有AlertDialog和OKHttp例如 // AlertDialog AlertDialog alertDialog = new AlertDialog.Builder(MainActivity.this) .setTitle("标题") .setNegativeButton("取消", (dialog, which) -> { dialog.dismiss
2021-08-16 21:32:12
284
转载 红橙Darren视频笔记 单例模式 volatile简析 ConcurrentModificationException
1.单例设计模式的必要写法要写一个单例模式 不管是哪一种单例 有两个条件是必要的:1.私有化构造方法2.提供获取单例的静态方法 private Singleton(){ } public static Singleton getInstance(){ return mInstance; }2.几种单例模式参考链接https://www.runoob.com/design-pattern/singleton-pattern.htm
2021-08-06 21:34:22
209
原创 红橙Darren视频笔记 Handler源码简析与handler框架模拟 ThreadLocal
1.handler的使用public class MainActivity extends AppCompatActivity { MyHandler myHandler; private static final int MSG_INDEX_1 = 1; private static final int MSG_INDEX_2 = 2; private static final int MSG_INDEX_3 = 3; private TextView tv
2021-08-02 21:24:02
314
原创 红橙Darren视频笔记 手写ButterKnife(Android Studio4.2.2 gradle-6.7.1 )
ButterKnife的github地址https://github.com/JakeWharton/butterknife1.ButterKnife的使用第一步 在moudle的gradle配置butterknife // 1 引入Butter knife到module implementation 'com.jakewharton:butterknife:10.2.3' annotationProcessor 'com.jakewharton:butterknif
2021-07-22 20:59:55
678
7
actionbar demo
2017-12-08
camera demo
2017-12-07
PartnerBookmarksProvider源码
2017-12-07
Linux bash基本语法笔记
2017-09-07
Textview滚动案例
2017-09-06
Android startService bindService Aidl service基础全
2016-01-30
Android端使用get post 方法提交数据到服务器demo
2014-10-15
JSON从服务器下载数据到Android客户端
2014-10-15
C#编程 滑铁卢战役 简洁版
2013-06-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人