自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(66)
  • 资源 (7)
  • 收藏
  • 关注

原创 Android Matrix (三)矩阵组合和应用变换

在 Android 开发中,Matrix类不仅提供了mapPoints方法来变换点坐标,还提供了多种其他用法,使其成为处理图像和视图变换的强大工具。以下是Matrix。

2024-01-08 21:45:55 1347

原创 Android Matrix (二)具体图形变换参数的获取

Matrix 类在 Android 中用于表示 3x3 的变换矩阵。这个矩阵可以应用于画布(Canvas),视图(View)或者位图(Bitmap),以实现各种图形变换,如旋转、缩放、平移和倾斜。在 Android 中,Matrix类并不直接提供方法来查询它所执行的特定变换(如平移、缩放、旋转等)。然而,您可以通过检查矩阵的值来推断出应用于图形的变换。Matrix类中的getValues方法可以用来获取矩阵的九个值,这些值反映了应用于图像的各种变换。在 Android 的Matrix。

2024-01-08 16:21:11 543

原创 如何在Android Glide中结合使用CenterCrop和自定义圆角变换(图片部分圆角矩形)

Glide是一个流行的Android图像加载库,它提供了强大的图片处理和缓存功能。在许多情况下,我们需要对图片进行裁剪以适应UI的需求,并可能想要应用圆角以增强视觉效果。Glide提供了一种简单的方式来实现这些效果。通过在Glide侧先进行裁剪,避免做完圆角的图到了控件端因为scale未显示出圆角部分。首先,我们需要创建一个自定义的,该变换只对图片的顶部应用圆角。// 圆角半径@Override// 绘制圆角矩形(只对左上和右上角应用圆角)// 绘制矩形以覆盖底部两个角。

2024-01-06 13:00:48 902

原创 Android如何正确使用 Canvas 的 save() 和 restore() 方法

在Android的绘图API中,Canvas类提供了一系列强大的功能来绘制自定义视图。为了更高效地管理绘图状态和变换,Canvas类提供了save()和restore()方法。正确使用这些方法是高效绘图和避免常见错误的关键。

2024-01-04 18:24:16 550

原创 Android Matrix的坐标变换

在 Android 的Matrix类中,坐标变换是一个核心功能。Matrix类提供了一系列的方法来执行二维图形的变换,这包括平移(Translation)、旋转(Rotation)、缩放(Scaling)和倾斜(Skewing)。这些操作可以单独使用,也可以组合使用来创建复杂的变换效果。下面,我将解释Matrix中常用的几种坐标变换方式。

2023-12-26 16:44:25 390

原创 制作一个多行时正确宽度的Textview,Android Textview 换行时宽度过长 右侧空白区域挤掉页面元素的解决方案

在Android应用开发中,布局优化是提升应用性能和用户体验的关键环节之一。特别是对于那些内容密集型的应用,如何高效地展示和管理文本内容成为了一个挑战。,我们可以更灵活地处理文本内容在不同布局情况下的显示问题。这不仅提高了布局的效率,还增强了用户界面的美观性。当然,这个控件可能还需要根据不同的使用场景进行调整和优化,但它已经为我们提供了一个很好的起点。会保持最长行的宽度,从而在右侧留下未使用的空间。在内容变多并换行时,右侧占据了过多未使用的空间。在这篇博客中,我将分享这个控件的创建过程和关键代码。

2023-12-18 15:31:30 641

原创 如何在Android中旋转屏幕时避免重新绘制Activity

在Android开发中,设备旋转通常导致当前活动(Activity)被销毁并重新创建,这可能导致用户界面重置和不必要的资源重新加载。然而,有时我们希望避免这种行为,特别是当我们的应用正在执行耗时操作时,如数据下载、复杂视图的渲染等。本文将探讨如何在Android中处理屏幕旋转,以避免Activity的重新绘制。

2023-12-09 07:43:04 325

原创 MediaCodec详解

MediaCodec` 是Android平台提供的一个API,用于对音频和视频数据进行编码(转换为不同的格式)和解码(从一种格式转换回原始数据)。它是Android 4.1(API级别16)及以上版本的一部分,允许开发者直接访问编解码器,是处理媒体数据的关键组件之一。

2023-11-24 22:34:10 263

原创 0时区格林威治时间转换手机当地时间-Android

包在Android API 26以上版本中可用。如果您的应用目标是较低版本的Android,您可能需要使用。包中的类(在API 26及以上版本中可用)。如果您的应用需要支持较低版本的Android,您可以使用。假设传入的是2023-11-01T12:59:10.420987这样的格式。的UTC时间字符串转换为Android设备本地时间,您可以使用。用于解析UTC时间字符串,然后使用。将UTC时间转换为本地时区时间。库来获得类似的功能。

2023-11-21 13:53:00 483

原创 Flutter extended_image库设置内存缓存区大小与缓存图片数

如果你想要自定义这些缓存大小,你可以创建一个自定义的 `GlideModule`,并在 `applyOptions` 方法中使用 `MemorySizeCalculator.Builder` 来设置不同的内存缓存大小,以及使用 `InternalCacheDiskCacheFactory` 或 `ExternalPreferredCacheDiskCacheFactory` 来设置不同的磁盘缓存大小。你可以通过修改`maximumSize`和`maximumSizeBytes`属性来调整缓存的数量和大小。

2023-10-25 17:13:34 1206

原创 Android Studio新功能-设备镜像Device mirroring-在电脑侧显示手机实时画面并可控制

下载最新的灰测版本-蜥蜴成功运行到真机后,点击右侧Running Devices选项卡,再点击+号 选中当前设备;非常丝滑同步,在电脑侧也可以顺畅控制真机。

2023-10-24 10:52:11 2115

原创 集成facebook第三方登录facebook_client_token不知道在哪

在应用面板的应用设置中 选择高级。下拉一些,客户端口令这个就是了。再加到string 中。

2023-09-05 19:11:37 678

原创 使用Android原生制作毛玻璃效果图片

毛玻璃效果,也被称为模糊效果,是许多现代应用中流行的一种视觉效果。在 Android 中,我们可以通过多种方式实现该效果。本文将探讨如何使用 Android 原生的 Bitmap 类和 RenderScript 来实现毛玻璃效果。

2023-09-05 18:21:33 1700

原创 Android触摸事件分发机制(一)

本文在介绍了事件分发基本概念的基础上,介绍了负责参与事件分发的核心方法,包括dispatchTouchEvent()、onInterceptTouchEvent 与 onTouchEvent 方法。通过伪代码的形式介绍了这些方法的核心逻辑,重点分析了在 Activity、ViewGroup 与 View 中的 dispatchTouchEvent方法。它们三者中的该方法结构类似,都是先调用子 View 的同名方法或者 listener 方法,然后再调用自身的 onTouchEvent 方法。这些方

2023-07-27 21:17:20 330

原创 版本适配好帮手 Android SDK Upgrade Assistant / Android Studio Giraffe新功能

版本适配好帮手 Android SDK Upgrade Assistant / Android Studio Giraffe新功能 。像Google play8月份开始强制要求的API提升,很多老项目还是有不少适配需求的,所以分享给大家。在Tools中找到Android SDK Upgrade Assistant。可以在此直接查看SDK升级相关信息,不用跑到WEB端去查看了。新版本还有其他的新功能,有机会再与大家分享。非常的清爽简洁,再次提高了适配的便利程度。再看看适配API33。

2023-07-27 16:55:47 1430

原创 CodeLocator简单使用(AndroidStudio中点击布局元素确认对应view信息)快速接手陌生项目利器

对于陌生项目的一些改动或重构需求时,如果可以在APP点点就能确定知道当前管理哪个activity或fragment必然是省去了很多去代码里搜来搜去的时间。说一下他的快捷键,如果是他的自有模式,请点击机器人图标 把DEBUG包传递给他安装,如果是DUMP MODE 就运行到真机或模拟器后 点击小手图标 让他开始加载就好了。这个问题在我解决后再来更新,当然我还可以先把依赖去掉先使用dump mode已经能帮上忙了并且不需要改动项目代码。我觉得DUMP MODE也是有帮助到的了。

2023-07-18 14:22:25 872

原创 GCC is no longer supported解决方法Android Studio

原因是NDK版本过高了,r13b开始,llvm / Clang成为默认工具链,r18b开始删除了gcc。删掉'-DANDROID_TOOLCHAIN=gcc'后,构建系统会默认使用clang。找到 '-DANDROID_TOOLCHAIN=gcc'进行删除。

2023-07-07 16:57:36 422

原创 Flutter生命周期小结

触发组件再次 build 有三种方式,一个是 setState ,另一个是 didChangeDependencies ,再一个是。3. 触发组件多次 build ,这个阶段有可能是因为 didChangeDependencies、setState 或者。2. 组件创建阶段,也可以称组件出生阶段,包括 didChangeDependencies 和 build;didUpdateWidget 而引发的组件重新 build ,在组件运行过程中会多次被触发,这也是优化过程。中需要着重需要注意的点;

2023-07-06 22:11:56 605

原创 Android 12 以上PendingIntent使用注意FLAG_IMMUTABLE

遇到如下报错:FLAG_JMMUTABLE 关于PendingIntent。

2023-06-25 17:26:40 1595

原创 上架Google play 提示 不符合64位版本应用的要求

此版本不符合 Google Play 关于提供 64 位版本应用的要求以下 APK 或 App Bundle 面向 64 位设备,但只有 32 位原生代码:[29]请向应用中添加64位和 32 位原生代码。使用 Android App Bundle 发布格式可自动确保每种设备架构仅收到所需加应用的总大小。在build.gradle(:app)中。

2023-05-08 10:42:06 723

原创 Android 12 蓝牙相关适配记录

排查第三方APP在Android 13手机上启动后就闪退,查阅了Android相关变更,初步判断本质还是未适配Android 12 蓝牙相关新权限。接下来在你的代码中动态申请这几处权限,业务逻辑中如果未获得权限之前不要去做蓝牙操作。androidmanifest中增加3个权限,并确保exported为true。build.gradle中 提高api至31。Android 12 蓝牙相关适配记录。特别注意线上平台收集信息不全。

2023-02-07 09:40:22 269

原创 React Native Debugger提升DEBUG速度/体验

使用react-native-debugger 后稳定性提升很多,可以录制片段分析APP 函数耗时。之前使用浏览器debug比较慢,并且容易断开。整体比较稳定,持续使用中,后续再来更新。

2023-01-29 15:16:24 181

原创 React native 近期Android 无法编译的问题解决

程序包com.facebook.react.bridge不存在。根本原因是Jcenter关闭服务。我解决时对应的gradle版本。

2022-11-08 10:07:49 1992 3

原创 Android 12 三星ONE UI 4.0 卸载应用不彻底重装APP后还有旧数据问题分析。

海外项目遇到一个奇怪得异常,客户有一台三星 one ui 4.0 android 12的手机,卸载APP后重装APP,旧数据还在。该行为会因为修改一点业务代码重新打的包有差异,我们又测试了S22 one ui 4.1 android 12,S10 one ui 4.0 android 12均正常。在耗时数天各种排查后发现这可能是一个系统BUG,条件得用户手机开启了谷歌服务,虽然我们没有声明需要备份应用数据的属性,但系统还是随机性发生的替我们把应用数据给备份了,并且在新安装后还原。

2022-08-24 09:43:16 1243

原创 Android Shimmer 布局微光(闪光,闪烁)效果

有时候需要实现类似知乎加载完成前列表中闪光的效果,这里推荐使用facebook的shimmer达到效果。shimmer_duration:动效周期。执行控件的startShimmer()后。

2022-08-11 10:14:31 825

原创 No cached version available for offline mode 报错,gradle离线模式开关位置(AndroidStudio 3.6.1以上版本)

No cached version available for offline mode 报错,gradle离线模式开关位置(AndroidStudio 3.6.1以上版本)

2022-07-07 09:51:55 964

原创 react-native start 报错,react native 服务启动失败解决办法

npx react-native start 报错error Invalid regular expression: /(.*\\__fixtures__\\.*|node_modules[\\\]react[\\\]dist[\\\].*|website\\node_modules\\.*|heapCapture\\bundle\.js|.*\\__tests__\\.*)$/: Unterminated character class. Run CLI with --verbose flag

2022-02-17 09:22:43 1380

原创 无法加载文件 *******react-native.ps1,因为在此系统中禁止执行脚本的问题解决。

今天在一台设备上跑RN ( react-native run-android)遇到下列问题:无法加载文件 C:\Users\Administrator\AppData\Roaming\npm\react-native.ps1,因为在此系统中禁止执行脚本。有关详细信息,请参阅 "get-helpabout_signing"。所在位置 行:1 字符: 13+ react-native <<<< run-android + CategoryInfo ...

2022-02-17 09:12:42 1813

原创 简单理解Flutter中的异步机制(Event Queue与Microtask Queue的关系)与Future方法

Dart 语言的 Event Loop 处理机制

2022-02-12 09:21:39 755

原创 Android Studio 报错:Manifest merger failed with multiple errors, see logs

经常可以看到这个报错 ,但是不直接显示明细。可以在终端中运行下列指令:gradlew processDebugManifest --stacktraceandroid\app\src\main\AndroidManifest.xml:38:5-75 Warning: Element uses-permission#android.permission.READ_PHONE_STATE at AndroidManifest.xml:38:5-75 duplica...

2022-01-04 15:31:50 1313

原创 Python实用技巧 使用pillow库批量修改文件夹下所有PNG图片透明度

首先安装Pillow库(Pillow是Python图像处理函式库(PIL)的一个分支)在.py文件中引入os 和PIL库import osfrom PIL import Imagefindall 方法进行对指定文件夹下所以文件夹进行遍历,再对.png结尾的文件进行透明度修改处理def findall(path): dir_string = path file_list = os.listdir(dir_string) #待修改文件夹 currentpath = os.get..

2021-12-13 15:44:45 1543

原创 React Native 红屏报错 Unable to load script from assets

出现上面的报错,先确认rn服务是否运行成功有的情况下是启动失败,或是启动后意外关闭了,或是端口不一致。这里记录一下另外一种情况:如果是从GITHUB上面新CLONE下来的项目 ,可能android\app\src\main\assets目录下是空的(assets文件夹需要新建一下了)。这时候需要在项目根目录终端下运行:react-native bundle --platform android --dev false --entry-file index.andro...

2021-12-09 17:16:58 1751

原创 Android ANR(超时未响应) 触发的原理(基于Android 9/10)

Android ANR(超时未响应) 触发原理,有哪些触发场景,是如何触发并显示ANR提示的。

2021-12-08 10:21:53 1044

原创 React Native 升级版本至0.66的一些经验记录(Hermes与Realm)

升级过程的话,官方有一个WEB端的工具可以提示你修改哪些内容。但是我是从一个较老的0.59.8(大约是19年5月发布的版本)的项目开始升级。并且项目中牵扯的三方库也不少,在之前的一次尝试按照官方指引升级0.65的过程中失败,一路解报错看不到头。因为时间问题那一次升级也暂时搁置了。随时react native 0.66的发布hermes 引擎升级到了0.9.0版本,这还是非常令人激动的。我最终的升级方案是重新建了0.66的工程 ,再将原来的业务代码全部迁移进去耗时还是比较多的。注意开启her...

2021-11-25 11:06:57 2694

原创 android studio使用gradle 编译提速(耗时减少约20%+)

打开项目根目录下的gradle.properties文件首先是gradle的并行模式parallelorg.gradle.parallel=true这一项打开后,我测试结果如下:rebuild耗时缩短为原先的83.78%。官方说明请参考:Configuration time and execution timeorg.gradle.daemon=trueorg.gradle.configureondemand=true另外再将这两个模式打开...

2021-11-19 16:02:25 1541

原创 iOS 去除TabBar顶部黑色线的方法

使用tabbar 会使控件顶部有一条黑色细线 CGRect rect = CGRectMake(0, 0, SCREENWIDTH, SCREENHEIGHT); UIGraphicsBeginImageContext(rect.size); CGContextRef context = UIGraphicsGetCurrentContext(); CGContextSetFillColorWithColor(context, [[UIColor clearCo..

2021-08-30 15:41:38 782

原创 React Native 异常记录 viewshot redmi note8 pro background失效

"react-native-view-shot": "^3.1.2","react-native": "0.59.8""react-native-qrcode-svg": "^6.0.6"记录一个客户反馈的异常:rn版本0.59.8 view shot版本3.1.2出现异常的机型:redmi note 8 pro miui 12.5.1异常的现象:viewShot组件style中设置background颜色失效 <ViewS...

2021-08-27 15:01:40 146

原创 AndroidStudio打包报错及解决方法:Lint found fatal errors while assembling a release target

问题现象:记录一下:Android Studio 运行时 没有异常打包时提示:Lint found fatal errors while assembling a release target如下图:提示可以关掉CHECK,但是还是有安全隐患的。解决方法:file:///D:/*********work/gitproject/****/****/****/****/app/build/reports/lint-results-release-fatal.html到mo..

2021-08-26 18:13:04 315

原创 Xcode 报错 xcrun: error: active developer path(/Applications/Xcode.app/Contents/...does not exist问题解决。

通过sudo xcode-select --install安装xcode命令行工具解决(需要10多GB 空间)其他命令记录:sudo xcode-select -p输出 xcode 命令行的地址xcode-select --switch /Library/Developer/CommandLineTools切换新的命令行目录本次记录时的系统版本:...

2021-08-05 12:23:15 586

原创 Android(小米miui)如何判断当前应用是否允许NFC权限

在开发中发现,在miui中(记录时的版本时MIUI12.0.9),具体的应用有一个NFC的独立权限。如何判断用户是否关闭了此权限,此处稍作记录。 public static boolean checkOpPermission(){ Log.d(TAG,"Build.BRAND:"+Build.BRAND);//"Xiaomi" if (Build.BRAND.contains("mi")){ Log.d(TAG,"Build.BRAND

2021-08-03 17:30:09 1353

CodeLocator 插件

CodeLocator 插件 CodeLocator Plugin 2.0.1 Support ViewBinding & Fix some issue

2023-07-18

JDK 11 WINDOWS 安装包

JDK 11 WINDOWS 安装包,免去注册烦恼 JDK 全称 Java Development ToolKit,是 Java 语言开发工具包。JDK 是整个 JAVA 的核心,包括了 Java 运行环境(Java Runtime Environment),一堆 Java 工具(javac/java/jdb 等)和 Java 基础的类库(即 Java API 包括 rt.jar)。 它不提供具体的开发软件,它提供的是无论你用何种开发软件写 Java 程序都必须用到的类库和Java 语言规范

2023-02-15

DALI接口与原理图(附预览图从机)

从机原理图,附预览图

2022-06-08

Android应用签名获取工具

Android应用签名获取工具,解压缩后内为APK文件,输入目标包名获取应用签名,方便快捷。希望能帮助到大家

2019-01-24

彗星真彩控件模块+例程

彗星真彩模块+例程 可以实现透明窗口 真彩编辑框 真彩按钮 真彩图片框

2012-10-18

轻松背单词V5.3

轻松背单词V5.3(PEtS3,英语四六级,雅思词汇)

2012-10-17

super-ec 4.5 易语言 超级模块

super-ec 4.5 易语言 超级模块 拿出来和大家分享 使用超级模块节省更多时间

2010-08-31

易语言 识图 抓色 模块

易语言识图模块 截图 找色 找图 屏幕 窗口

2010-07-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除