- 博客(1896)
- 资源 (15)
- 收藏
- 关注
原创 Kotlin runBlocking CoroutineScope launch async
runBlocking 内部启动的3个协程做耗时操作,从输出可以看到3个协程交叉并发执行,runBlocking 会等到3个协程执行结束后才退出,输出结果有明确先后顺序。kotlin的runBlocking 当内部相同作用域的所有协程都运行结束后,在 runBlocking 之后的代码才能执行, runBlocking 会阻塞所在线程。kotlin的runBlocking 当内部相同作用域的所有协程都运行结束后,在 runBlocking 之后的代码才能执行, runBlocking 会阻塞所在线程。
2024-03-18 23:15:13 1108
原创 Android onViewAttachedToWindow onWindowAttached onPreDraw onDraw onGlobalLayout,Kotlin
文章浏览阅读2.9k次。Android自定义ViewGroup:onMeasure与onLayout(1)Android自定义一个ViewGroup,需要重写ViewGrouo里面的两个最重要的回调函数onMeasure()与onLayout()。如果开发者自己摆脱Android为我们做好的几套布局(如常见的线1性布局、相对布局、帧布局等等),往底层实现view呈现,那么我们就得在ViewGroup中小心计算_android viewgroup onmeasure onlayout。
2024-03-16 00:19:12 1027
原创 Kotlin/Java中String的equals和==
,而此时再次对s进行操作改变s的值时候,如再次给s赋值使得s=”_string类的字符串与stringbuffer类的字符串判断是否相同。每次Java/Kotlin定义/创建一个String后,如果String内存缓存池内不存在给定值比如"zhang"相同的String对象,那么此时Java将为此创建新的String对象,并存放在String缓存池内。如果String缓存池内存中有与指定值相同的String对象,那么此时Java将不创建新String对象,而直接返回已存在的String对象的引用。
2024-03-14 23:03:01 794
原创 Android Bundle putBinder传输超过1MB数据,Kotlin
文章浏览阅读422次。_安卓开发系统切换主题 重走生命周期。文章浏览阅读5.5k次。本文作者:Zhang Phil原文链接:Android Activity生命周期以及onSaveInstanceState、onRestoreInstanceState要点备忘一般的,当Android activity的生命周期进入onPause后,Android系统紧接着就要回调:protected void onSaveInstanceState_activity生命周期 onsaveinstane。
2024-03-13 23:12:12 1251
原创 Kotlin/Java重写equals后==表现(2)
因为重写了equals方法,那么== 或者 equals 比较两个对象是否相同,则调用重写后的equals方法,而equals方法只是比较两个对象的id,而id都是2024,所以均返回true。
2024-03-07 23:09:09 663
原创 Kotlin/Java hashCode与equals/==号(1)
如果定义的Kotlin/Java对象没有重写hashCode和equals,那么Kotlin/Java就调用根(super)的Obejct的hashCode()和equals()方法。Kotlin/Java比较两个对象是否相同的equals方法(相当于==),是根据两个对象的内存地址,如果默认不重写hashCode()实现,即可以简单理解为比较hashCode()的值是否相等,因为hashCode()值即为内存地址值。Kotlin/Java的hashCode()方法默认返回对象在内存中地址的整数值。
2024-03-06 23:18:50 550
原创 Android挖取原图手指触点区域RectF(并框线标记)放大到ImageView宽高与矩阵mapRadius,Kotlin
Android BitmapFactory.decodeResource读取原始图片装载成原始宽高Bitmap,Kotlin_bitmapfactory解码宽高-CSDN博客。Android矩阵setRectToRect裁剪Bitmap原图Matrix放大,mapRect标记中心区域,Kotlin-CSDN博客。实现的是把原图中心区域的一片小图挖取出来放大放到下面的ImageView里面,现在不再固定中心位置,而是以手指在上图的触点位置为中心位置,挖取一片区域图放大,然后放到下面的ImageView里面。
2024-03-02 00:03:19 1316 1
原创 Android Studio level过滤查看各个等级的日志
Android Studio移动.gradle文件夹重新设置新路径_android studio设置gradle路径_zhangphil的博客-CSDN博客。android studio自带手机投屏功能_android studio 投屏_zhangphil的博客-CSDN博客。android studio自带手机投屏功能_android studio 投屏-CSDN博客。android studio自带手机投屏功能_android studio 投屏_zhangphil的博客-CSDN博客。
2024-02-29 23:08:13 1435
原创 Android res/values/locale_config.xml文件
文章浏览阅读289次。Android重写onConfigurationChanged规避横竖屏切换时候重新进入onCreate生命周期Android系统内在的机制,当activity在横竖屏切换时候,会强制重新开始进入activity的生命周期onCreate,在有些特殊的场景,开发者不希望重新进入onCreate生命周期,那么,可以通过重写Android的onConfigurationChanged规避。Android语言切换LOCALE_CHANGED与CalendarView,kotlin。
2024-02-27 23:04:43 1226
原创 Glide报错:java.lang.IllegalArgumentException: You cannot start a load for a destroyed activity
原因是Glide在后台线程加载一个资源回来后,上层activity已销毁。
2024-02-26 23:03:25 632
原创 Android RecyclerView AsyncListDiffer DiffUtil,Kotlin(b)
【代码】Android RecyclerView AsyncListDiffer DiffUtil,Kotlin(b)
2024-02-25 23:02:50 412
原创 Android BitmapDrawable.bitmap与BitmapFactory.decodeResource获取不到原始图像素级真实宽高,Kotlin
文章浏览阅读1.8k次。Android传递Bitmap的两种简单方式及其缺陷_android上传bitmap_zhangphil的博客-CSDN博客。Android BitmapFactory.decodeResource读取原始图片装载成原始宽高Bitmap,Kotlin_bitmapfactory解码宽高-CSDN博客。Android BitmapFactory.decodeResource读取原始图片装载成原始宽高Bitmap,Kotlin_bitmapfactory解码宽高-CSDN博客。
2024-02-24 23:02:53 1265
原创 Kotlin filterIsInstance filterNotNull forEach
一、flow ,emit,onCompletion,collect。四、map,重组改写数据。八、conflate 合并。九、debounce去重。二、函数作为flow。kotlin协程flow filter map flowOn zip combine(1)_zhangphil的博客-CSDN博客。Kotlin HashMap entries.filter过滤forEach_kotlin map.entries.foreach-CSDN博客。
2024-02-23 23:06:25 647
原创 Android横竖屏切换configChanges=“screenSize|orientation“避免activity销毁重建,Kotlin
Android重写onConfigurationChanged规避横竖屏切换时候重新进入onCreate生命周期Android系统内在的机制,当activity在横竖屏切换时候,会强制重新开始进入activity的生命周期onCreate,在有些特殊的场景,开发者不希望重新进入onCreate生命周期,那么,可以通过重写Android的onConfigurationChanged规避。那么,每次横竖屏切换都会重新走onCreate() ... onDestory()生命周期,即消耗重建。
2024-02-22 23:04:22 1085
原创 Android RecyclerView AsyncListDiffer DiffUtil,Kotlin(a)
文章浏览阅读410次。基于Android官方Paging Library的RecyclerView分页加载框架我之前写了一篇RecyclerView分页加载机制的文章,是基于Android官方的AsyncListUtil实现的,详情见附录文章1。基于Android官方Paging Library的RecyclerView分页加载框架我之前写了一篇RecyclerView分页加载机制的文章,是基于Android官方的AsyncListUtil实现的,详情见附录文章1。
2024-02-21 23:06:52 813
原创 Android挖取原图中心区域RectF(并框线标记)放大到ImageView宽高,Kotlin
文章浏览阅读853次。【代码】Android矩阵setRectToRect裁剪Bitmap原图Matrix放大,mapRect标记中心区域,Kotlin。Android BitmapFactory.decodeResource读取原始图片装载成原始宽高Bitmap,Kotlin_bitmapfactory解码宽高-CSDN博客。Android矩阵setRectToRect裁剪Bitmap原图Matrix放大,mapRect标记中心区域,Kotlin-CSDN博客。
2024-02-20 23:09:14 1104
原创 Android矩阵Matrix动画缩放Bitmap移动手指触点到ImageView中心位置,Kotlin
需要注意的,因为在xml布局里面特别设置了ImageView的高度为wrap_content,手指在屏幕触点的位置是放大镜里面放大图片后准确圆心位置,但是,如果ImageView设置成match_parent,则因为ImageView里面的Bitmap被缩放(此处Bitmap其实小于ImageView,被拉伸了),拉伸后的Bitmap水平方向坐标与ImageView一直重合,但竖直方向,Bitmap坐标与ImageView不一致,会造成一种现象,手指触点放大镜放大后,水平方向是正确的,但竖直方向有偏移量。
2024-02-09 00:36:01 1774
原创 Android用setRectToRect实现Bitmap基于Matrix矩阵scale缩放RectF动画,Kotlin(二)
【代码】Android用setRectToRect实现Bitmap基于Matrix矩阵scale缩放RectF动画,Kotlin(二)
2024-02-06 23:03:41 795
原创 Android用setRectToRect实现Bitmap基于Matrix矩阵scale缩放RectF动画,Kotlin(一)
基于Matrix,控制Bitmap的setRectToRect的目标RectF的宽高。从很小的宽高开始,不断迭代增加setRectToRect的目标RectF的宽高,每次迭代加上一定时延,实现Matrix基础上的动画。文章浏览阅读180次。【代码】Android矩阵setRectToRect裁剪Bitmap原图Matrix放大,mapRect标记中心区域,Kotlin。Android矩阵setRectToRect裁剪Bitmap原图Matrix放大,mapRect标记中心区域,Kotlin-CSDN博客。
2024-02-05 23:07:52 1330
原创 Android BitmapShader setLocalMatrix缩放Bitmap高度重新onMeasure,Kotlin
Android横竖屏切换View设置不同尺寸或等比例缩放的自定义View的onMeasure解决方案(2)附录文章1以xml布局文件方式实现了一个view在横竖屏切换时候的大小尺寸缩放,实现这种需求,也可以使用自定义View的onMeasure方法实现。遗留问题,手指在上图滑动过程中,当滑动到一定区域,下面的切图框中已无太有效的图可以“放大”,后续可以填充黑色,表示无效放大。所有的绘制轨迹线,都限定在了绿色的圆角矩形框中,超出区域不予绘制。基础上,限定下面切图的绘制区域,超出绿色区域的轨迹线不再绘制。
2024-02-04 23:03:24 1286
原创 Android矩阵Matrix裁切setRectToRect拉伸Bitmap替代Bitmap.createScaledBitmap缩放,Kotlin
Android拼接合并图片生成长图代码实现合并两张图片,以第一张图片的宽度为标准,如果被合并的第二张图片宽度和第一张不同,那么就以第一张图片的宽度为准线,对第二张图片进行缩放。Android拼接合并图片生成长图代码实现合并两张图片,以第一张图片的宽度为标准,如果被合并的第二张图片宽度和第一张不同,那么就以第一张图片的宽度为准线,对第二张图片进行缩放。基础上,把剪切的区域从矩形Rect变为圆形的Path,当手指在上面的ImageView移动时候,下面同等大小对应的坐标区域显示“剪切”出来的圆形图。
2024-02-02 23:05:45 1226
原创 Android矩阵setRectToRect裁剪Bitmap原图Matrix放大,mapRect标记中心区域,Kotlin
【代码】Android矩阵setRectToRect裁剪Bitmap原图Matrix放大,mapRect标记中心区域,Kotlin。
2024-02-01 23:25:41 625
原创 Android矩阵Matrix变换setRectToRect,Kotlin
Android拼接合并图片生成长图代码实现合并两张图片,以第一张图片的宽度为标准,如果被合并的第二张图片宽度和第一张不同,那么就以第一张图片的宽度为准线,对第二张图片进行缩放。Android拼接合并图片生成长图代码实现合并两张图片,以第一张图片的宽度为标准,如果被合并的第二张图片宽度和第一张不同,那么就以第一张图片的宽度为准线,对第二张图片进行缩放。基础上,把剪切的区域从矩形Rect变为圆形的Path,当手指在上面的ImageView移动时候,下面同等大小对应的坐标区域显示“剪切”出来的圆形图。
2024-01-31 23:05:34 801
原创 git diff查看比对两次不同时间点提交的异同
git diff比较不同commit版本的代码文件异同 如图,假设像知道app目录下的build.gradle文件在两次commit(fee9f9cf4b和cdd577e352)之间的异同和变化,可是使用命令git diff:git diff fee9f9cf4b cdd577e352 app/build.gradle输出如图: 如果git diff后面只有两个co..._git diff commit。git查看commit提交的历史记录%格式化占位符代表的意义:%h,某次提交的哈希值简写。
2024-01-30 23:01:39 1200
原创 Android画布Canvas裁剪区域clipRect,Kotlin
Android拼接合并图片生成长图代码实现合并两张图片,以第一张图片的宽度为标准,如果被合并的第二张图片宽度和第一张不同,那么就以第一张图片的宽度为准线,对第二张图片进行缩放。Android拼接合并图片生成长图代码实现合并两张图片,以第一张图片的宽度为标准,如果被合并的第二张图片宽度和第一张不同,那么就以第一张图片的宽度为准线,对第二张图片进行缩放。基础上,把剪切的区域从矩形Rect变为圆形的Path,当手指在上面的ImageView移动时候,下面同等大小对应的坐标区域显示“剪切”出来的圆形图。
2024-01-29 23:16:19 1389 1
原创 kotlin.UninitializedPropertyAccessException: lateinit property xxx has not been initialized
由于kotlin中没有static修饰词,可以用companion object实现Java中的static效果。kotlin用object实现单例模式,companion object与java静态。kotlin用object实现单例模式,companion object与java静态_zhangphil的博客-CSDN博客。kotlin constructor init companion object 与初始化by lazy_companion object by lazy-CSDN博客。
2024-01-28 23:18:16 1466
原创 Android双指缩放ScaleGestureDetector检测放大因子大图移动到双指中心点ImageView区域中心,Kotlin(2)
需要注意的,因为在xml布局里面特别设置了ImageView的高度为wrap_content,手指在屏幕触点的位置是放大镜里面放大图片后准确圆心位置,但是,如果ImageView设置成match_parent,则因为ImageView里面的Bitmap被缩放(此处Bitmap其实小于ImageView,被拉伸了),拉伸后的Bitmap水平方向坐标与ImageView一直重合,但竖直方向,Bitmap坐标与ImageView不一致,会造成一种现象,手指触点放大镜放大后,水平方向是正确的,但竖直方向有偏移量。
2024-01-27 23:20:22 821
原创 Kotlin toInt() +0.5 toInt() Math.round()
Java小数点数字和百分号数字之间的转换小数点数字和百分号(百分比)数字之间的转换在证券金融业很常见,需要经常进行两者之间相互转换。如代码: String s1 = "21.8%";Java小数点数字和百分号数字之间的转换_将浮点型转为百分比 java-CSDN博客。Kotlin浮点数Float整数Int乘*除/精度损失。Kotlin浮点数Float整数Int乘*除/精度损失-CSDN博客。
2024-01-26 23:03:37 425
原创 Android ScaleGestureDetector检测双指缩放Bitmap基于Matrix动画移动到双指捏合中心点ImageView区域中心,Kotlin
需要注意的,因为在xml布局里面特别设置了ImageView的高度为wrap_content,手指在屏幕触点的位置是放大镜里面放大图片后准确圆心位置,但是,如果ImageView设置成match_parent,则因为ImageView里面的Bitmap被缩放(此处Bitmap其实小于ImageView,被拉伸了),拉伸后的Bitmap水平方向坐标与ImageView一直重合,但竖直方向,Bitmap坐标与ImageView不一致,会造成一种现象,手指触点放大镜放大后,水平方向是正确的,但竖直方向有偏移量。
2024-01-25 23:04:35 430
原创 Kotlin for loop: in、 until、 step、 downTo
文章浏览阅读140次。Python for循环中的zip_python zip函数用于for循环_zhangphil的博客-CSDN博客。kotlin forEachIndexed arrayListOf<String>-CSDN博客。文章浏览阅读308次。kotlin的for循环遍历。_kotlin for遍历。kotlin的for循环遍历_kotlin for遍历-CSDN博客。
2024-01-24 23:28:57 683
原创 Android双指缩放ScaleGestureDetector检测放大因子大图移动到双指中心点ImageView区域中心,Kotlin
需要注意的,因为在xml布局里面特别设置了ImageView的高度为wrap_content,手指在屏幕触点的位置是放大镜里面放大图片后准确圆心位置,但是,如果ImageView设置成match_parent,则因为ImageView里面的Bitmap被缩放(此处Bitmap其实小于ImageView,被拉伸了),拉伸后的Bitmap水平方向坐标与ImageView一直重合,但竖直方向,Bitmap坐标与ImageView不一致,会造成一种现象,手指触点放大镜放大后,水平方向是正确的,但竖直方向有偏移量。
2024-01-22 23:22:55 849
原创 SonarLint自动运行卡死Android Studio
Android Studio移动.gradle文件夹重新设置新路径_android studio设置gradle路径_zhangphil的博客-CSDN博客。最新版的android studio自带有手机投屏功能,设置后直接在android studio里面就可以“实时”投屏并操控手机。android studio自带手机投屏功能_android studio 投屏_zhangphil的博客-CSDN博客。android studio自带手机投屏功能_android studio 投屏-CSDN博客。
2024-01-21 23:09:51 1147
原创 Android双击图片放大移动图中双击点到ImageView区域中心,Kotlin
需要注意的,因为在xml布局里面特别设置了ImageView的高度为wrap_content,手指在屏幕触点的位置是放大镜里面放大图片后准确圆心位置,但是,如果ImageView设置成match_parent,则因为ImageView里面的Bitmap被缩放(此处Bitmap其实小于ImageView,被拉伸了),拉伸后的Bitmap水平方向坐标与ImageView一直重合,但竖直方向,Bitmap坐标与ImageView不一致,会造成一种现象,手指触点放大镜放大后,水平方向是正确的,但竖直方向有偏移量。
2024-01-20 23:07:18 1320 1
原创 Android Matrix绘制PaintDrawable设置BitmapShader,手指触点为圆心scale放大原图,Kotlin(二)
遗留问题,手指在上图滑动过程中,当滑动到一定区域,下面的切图框中已无太有效的图可以“放大”,后续可以填充黑色,表示无效放大。所有的绘制轨迹线,都限定在了绿色的圆角矩形框中,超出区域不予绘制。基础上,限定下面切图的绘制区域,超出绿色区域的轨迹线不再绘制。
2024-01-19 23:26:16 806
原创 Kotlin浮点数Float整数Int乘*除/精度损失
Java小数点数字和百分号数字之间的转换小数点数字和百分号(百分比)数字之间的转换在证券金融业很常见,需要经常进行两者之间相互转换。如代码: String s1 = "21.8%";Java小数点数字和百分号数字之间的转换_将浮点型转为百分比 java-CSDN博客。Kotlin浮点数Float整数Int乘*除/精度损失。
2024-01-18 23:14:03 945
原创 Android Matrix绘制PaintDrawable设置BitmapShader,手指触点为圆心scale放大原图,Kotlin
的基础上,实现一个功能,手指在上面原图的区域滑动,然后在下面的图中以若干放大因子放大显示切块出来的小图,下面切块出来的原图的圆心是手指在上面的触点。同时在下图中复刻上图手指滑动的轨迹。下图的中心圆点用一个圆圈,标识出手指在上图的触点。下图相当于一个放大镜,同时在放大镜图里面显示手指划过的轨迹。遗留一个问题,更好的做法是在下图中只显示圆角矩形切图区域里面的路径,超出圆角矩形切图外的区域,不应该再显示路径。
2024-01-17 23:05:16 1091
原创 Android 11以上根据package name查询应用是否安装,Koltin
获取Android应用程序名称的稳定、可靠、简单方案在Android开发中,相信绝大多数Android开发者使用的是网络上盛传的这个方法获取应用程序名称的: /*** * 获取应用程序名称。文章浏览阅读1.3w次。// 以下是获得版本信息的工具方法//版本名public static String getVersionName(Context context) {return getPackageInfo(context).versionName;
2024-01-16 23:08:48 1362
原创 Android基于Matrix绘制PaintDrawable设置BitmapShader,以手指触点为中心显示原图的圆切图,Kotlin(4)
基础上,增加一个功能,手指在上面的图中移动时,绘制红色移动轨迹(路线)同时,下面图中对应的小图中显示手指与屏幕的触点,这样可以“实时”指示当前手指在上面大图中移动的准确、精细位置。虽然实现了上图绘制手指在屏幕滑动的轨迹,且在下面的切图中用中心圆圈标记出当前手指在图中的位置,但没有在下面的切图中也绘制出与上图的手指滑动轨迹,下面实现这个功能:手指在原图中滑动,在切图中用圆圈标记手指的位置,同时在切图中复刻手指滑动的轨迹。1、手指滑动出有效取景区域后,切图还在显示,这不是很合理。
2024-01-15 23:06:49 782
原创 Android基于Matrix绘制PaintDrawable设置BitmapShader,以手指触点为中心显示原图像圆图,Kotlin(3)
基础上,增加一个功能,手指在上面的图中移动时,绘制红色移动轨迹(路线)同时,下面图中对应的小图中显示手指与屏幕的触点,这样可以“实时”指示当前手指在上面大图中移动的准确、精细位置。【代码】Android基于Matrix绘制PaintDrawable设置BitmapShader,以手指触点为中心显示原图像圆图,Kotlin(2)【代码】Android基于Matrix绘制PaintDrawable设置BitmapShader,以手指触点为中心显示原图像圆图,Kotlin(2)
2024-01-14 23:07:48 1256
原创 Android ObjectAnimator custom Rounded Rectangle LinearLayout backgroundColor flicker ArgbEvaluator
Android ValueAnimator属性动画ObjectAnimator使View颜色渐变,Kotlin。Android ValueAnimator属性动画ObjectAnimator使View颜色渐变,Kotlin-CSDN博客。基础上,自定义背景的layout,使得渐变闪烁的view为圆角线性布局。
2024-01-13 23:04:07 382
链家2020年9月二手房数据
2020-12-10
strava_com_sample_utf8.xls
2020-12-10
digital-7字体(LED数字样式字体)
2017-09-05
MaterialDesignLibrary_Code and Lib合集
2015-09-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人