自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(188)
  • 资源 (5)
  • 收藏
  • 关注

原创 仿微信图片编辑 全网功能最全的图片编辑器

序言最近写一个图片编辑器,仿造的微信的图片编辑,以下加粗的功能是微信没有的。这个项目可以说是目前编辑功能最多的编辑器。而且功能都支持定制。绘制方框绘制圆形绘制文字绘制箭头涂鸦绘制马赛克图片剪裁使用1.可以定制需要的功能,不需要的功能会自动隐藏。以下是定义的在TRSPictureEditor的常量。 public static final int BOX_ENABLE = 0x00000001;//方形选择框 public static final int CIRC

2021-04-30 00:42:50 2591 4

原创 2024年9月 对接Here地图记录

在初始化sdk时需要两个变量,一个是一个是由以下方法创建。在这里插入图片描述。

2024-09-02 16:02:48 178

原创 实现 GridLayoutManger 和 StaggeredGridLayoutManager 的混排

最近项目中要实现瀑布流的混排,于是写了一些工具类来实现。使用了这个工具类,可以处理混排,可以处理间距。都集成在一个接口中。最后效果类似这样。

2024-08-29 18:00:40 361

原创 可以显示调试信息的Drawable

为了研究瀑布流布局中的布局规律和 StaggeredGridLayoutManager.LayoutParams中的spanIndex的关系。需要把这些内容打印出来,但是不如直接显示在item方便。于是写了一个drawable来实现。

2024-08-29 17:33:39 221

原创 使用gradle 移除敏感权限

最近要上架Google Play 但是因为有个敏感权限很容易被拒。想着把权限依赖的库去掉就行了,但是遇到一个恶心的问题。就是这个权限在Android Studio的Merged Manifest 视图中没有,但是在生成的apk中却包含。这样的就不能通过Android Studio来定位权限来自于那个库。包含在生成的清单文件中。

2024-08-29 11:57:06 363

原创 Android 优化之 查找so 文件的来源

有时候我们需要优化apk的包体积大小。比如下面这样的。一个so文件大小有10M。但是我们并不知道so文件是那个库引入的。所以需要研究一下。

2024-08-29 02:03:34 345

原创 StaggeredGridLayoutManager 瀑布流 bug处理

【代码】StaggeredGridLayoutManager 瀑布流 bug处理。

2024-08-28 17:21:46 218

原创 记录 升级到Gradle 8.4.2 遇到的坑

最近将Gradle从4.0.1 升级到 8.4.2 遇到了很多坑,记录下来帮助有缘人。

2024-08-22 10:09:30 378

原创 Rxpermission请求 android.permission.WRITE_EXTERNAL_STORAGE失败

需要在清单文件中声明。

2024-08-21 15:36:59 122

原创 清除系统默认 dialog 样式

有时候继承dialog,使用自定义布局,显示的效果和预期差距很大,大小不正常,背景色也不正常。可以通过下面的style来清除这些影响。android

2024-08-09 15:48:57 278

原创 Retrofit 自定义注解 实现可选择性的打印接口日志

有时候我们需要打印okhttp的日志,但是现在的日志拦截器,不能做到接口级别的日志输出控制。要么就是全部打印。这样很影响调试效率。所以我在这块做了一些探索。

2024-08-08 17:13:15 267

原创 重启主界面

在一些修改了系统配置以后,需要重启生效的时候,使用以下代码完成。

2024-08-02 16:17:46 119

原创 Android 自定义圆形进度条样式

是一个图片,上面的定义可以旋转。对应的drawable。

2024-07-31 10:12:42 285

原创 160行代码实现代码雨效果

一切纷繁复杂的效果,都要学会裁剪。要用面向思想的角度来开发特效,把功能拆解。而驱动一切的就是时间。

2024-07-05 15:53:48 255

原创 可以显示余弦函数的自定义控件

终于把坐标系变化怎么玩,搞清楚了。随手写一个余弦函数的自定义控件。只有70行。

2024-07-01 15:49:11 199

原创 节流工具,避免操作太频繁

用于保证某个操作在一定时间内只执行一次的工具。

2024-06-26 14:14:19 209

原创 圆形控件推荐

YLCircleImageView

2024-06-05 21:20:35 93

原创 Glide支持通过url加载本地图标

glide可以在load的时候传入一个资源id来加载本地图标,但是在开发过程中。还得区分数据类型来分别处理。这样的使用成本比较大。希望通过自定义ModelLoader实现通过自定义的url来加载Drawab。降低使用成本。

2024-06-05 15:29:28 455

原创 生成随机图片

上面的代码可以生成随机图片。而且内容可以指定 **“https://source.unsplash.com/%dx%d/?beauty&random=%d”**比如?后面的beauty返回的就是美女图片。

2024-06-02 08:15:17 1758

原创 在VIVO 手机上安装apk,实现自动点击继续安装

最近换了个测试机,用了VIVO。但是每次安装的时候都必须点击一次继续安装。验证影响效率。为了解决这个问题做了一些研究。

2024-05-22 17:57:11 1011

原创 使用ImageView实现Drawable

有时候在使用drawable绘制图片的时候,要实现类似ImageView中各种 ScaleType的效果。但是每种ScaleType还得自己去实现具体的算法。有点麻烦,后来我想能不能直接复用ImageView的算法。于是有了以下这个类。这个类,亲测可用。记录一下,以备后面使用。

2024-05-20 13:56:54 215

原创 一行代码实现vip标志的显示

在项目中,后期添加了一种用户类型。需要再用户头像右下角显示一个vip的标志。问题是只要有头像的地方都要显示。而有头像的地方很多,设置到的接口也很多。后面考虑通过一个工具类,将这个功能外挂到原来的业务需要的地方。

2024-05-16 10:01:12 441

原创 使用自定义注解处理器,自动收集类信息

在开发过程有些时候我们会需要收集一些类信息。比如要知道某个子类下的所有实现类。可以通过反射的方式实现。但是这种方法有性能问题,因为在运行时,所有类都会包含在dex文件中。这个文件中的类可能有几十万个。而且在实际开发中会发现,新写出来的类,可能没有打包进apk,通过反射无法及时的发现。于是想通过自定义注解处理器来实现。

2024-04-26 16:49:28 403 1

原创 使用JS代理 实现大对象的功能拆解

【代码】JS代理的实现。

2024-04-24 16:27:04 473 6

原创 通过js实现图片转文字

在Node.js中实现图片文字识别,我们需要使用OCR(Optical Character Recognition)技术。OCR技术可以将图片中的文字转换成可编辑的文本。在Node.js中,我们可以使用一些第三方库来实现这个功能。我们将使用两个库:Tesseract OCR和sharp。Tesseract OCR是一个流行的OCR引擎,它可以将图片中的文字转换成文本。sharp是一个用于处理图片的Node.js库,它可以用于调整图片大小、裁剪、格式转换等操作。首先,我们需要安装这两个库。

2024-04-17 10:24:12 1970

原创 使用js批量下载图片,并转为pdf 最后合并 转word 可以复制内容

我们的js代码也会按照0.jpg,1.jpg,2.jpg…的顺序生成,0.pdf,1.pdf,2.pdf…最后合并为merge.pdf。需要把上面的jpg2pdf.js保存在node 保存包的地方。也就是我们在那个目录执行。第一个参数是图片保存的地方,如果用我上面的js保存的图片,图片将以下面的方式保存。可以保存为jpg2pdf.js。生成的pdf(背景色为pdf软件自带的)文件夹,里面有我们安装的第三方包。这里借助的是nodejs。合并的js,下面有两个参数。方法第二个参数指定的地方。

2024-04-16 18:22:31 492

原创 【转】关于vsCode创建后,不显示NPM脚本解决

刚刚使用vue ui新建了个vue项目,打开vs-code发现,无论怎么设置都找不到NPM脚本显示,苦恼了很久,突然发现!打开了package-lock.json,然后立马把vs-code关闭,重新打开,就显示了npm脚本,直呼神奇!

2024-04-15 09:52:57 258

原创 网络图片的适配

之前用了屏幕适配方案,将屏幕适配为375dp。现在想的是,将图片也适配一样。也就是服务器返回的图片如果是375px就全屏显示。

2024-03-14 18:44:30 223

原创 使用Javassist 在android运行时生成类

最近在写框架,有一个需求就是动态的生成一个类,然后查阅了相关文献,发现在android中动态生成一个类还挺麻烦。因次把一些内容分享出来,帮助大家少走弯路。

2024-03-04 15:18:52 1287

原创 自动暂停和恢复网页中的视频播放

实现起来不是很难,主要是把各个功能疏解到单独的类中。保证每个类的职责单一,提高逻辑的清晰性。增加维护的便利性。通过观察者模式还可以为后面的业务拓展提供支撑,增加了系统的弹性。这也是提高自己代码的设计性的尝试。

2024-02-06 10:39:29 1001

原创 反编译AAR 实现Codelocator不报错 保留跳转到XML功能

之前写过一篇文章就是说怎么避免codelocator不报错。参考但是上面的解决方案有个问题。就是配置以后,跳转到XML功能无法使用。也就是下面这个功能。这个功能还挺好用的,我想保留,但是不想报错。于是研究怎么达到这种效果。

2024-01-31 13:47:09 941

原创 CodeLocator 避免控制台弹出一堆错误日志

使用codeLocator 插件 控制台经常打印出一堆的错误日志。和项目本身无关。影响了我们排查错误的效率。

2024-01-30 16:16:24 218

原创 自适应大小的TextView

有些时候,一个控件文字内容太多,需要其自动缩小字体。开发了这个自定义控件。

2024-01-25 13:55:36 444

原创 android 扫描某个包下的所有类

如果在用Android Studio开发过程中,如果新增了类,扫描不到。只能把APP卸载了,才能扫描到。可能是Instance Run 的影响。后面研究一下这篇文章,看看能不能解决。

2024-01-22 17:20:54 754

原创 TagTextView 行内标签TextView

效果如下,可以解析xml中配置的drawableStart ,然后将这个drawable显示在一行内。下一个开始。从这个drawable开始。

2024-01-09 16:10:52 427

原创 MaxLengthTextView 如果内容超过xml中maxLength属性定义的文字数量时,会被添加省略号

【代码】MaxLengthTextView 如果内容超过xml中maxLength属性定义的文字数量时,会被添加省略号。

2024-01-09 15:27:49 405

原创 解决 GSYVideoPlayer 连续切换视频 出现黑屏只有声音没有画面的问题

如果这个播放器用来recycleView中,实现类似抖音的效果,会发现刷了一段时间,会出现只有声音没有画面的情况。这个时候是因为surface没有创建(具体原因未知)。中的方法没有回调。其他人也遇到过。

2023-12-29 18:04:51 1170

原创 优化GSYVideoPlayer进度条跳动的问题

使用GSYVideoPlayer进行视频播放,在播放过程中点击进度条切换进度。视频会回退一下,然后才跳到指定的进度。如果视频比较短,比如10多秒,基本上无法实现进度切换。这是框架本身的问题。

2023-12-29 10:40:16 724

原创 不受父容器大小约束的TextView

* Desc:这是一种没有被父类的尺寸约束大小的TextView,内容有多少就显示多少。* 主要目的是可以将显示的内容超过父容器的大小。必须将配置父容器的clipChildren为false。才能看到效果。父控件的大小是均分的,而显示数量有可能超过父控件。*

2023-12-22 14:47:37 103

原创 解决Android软键盘在全屏下设置adjustResize无效的问题

在非全屏模式(即状态栏不透明)下,将activity的windowSoftInputMode的属性设置为:adjustResize。同时在View的onSizeChanged(int w, int h, int oldw, int oldh)里可以得到变化后的尺寸,然后根据前后变化的结果来计算屏幕需要移动的距离。在键盘显示时它未将Activity的Screen向上推动,所以你Activity的view的根树的尺寸是没有变化的。在这种情况下,你也就无法得知键盘的尺寸,对根view的作相应的推移。

2023-11-30 17:15:42 948

AppActivityName.jar

用来获取当前activity的名称,和其中包含的fragment的工具。使用java 8编译。需要系统环境变量中包含adb

2021-11-11

chkbugreport-0.5-216.jar

小米错误日志查看工具

2021-09-29

simpleUMLCE_8205.jar

simpleUMLCE_8205.jar

2021-06-02

OrderLayoutDemo.rar

可以设置优先级的layout ,继承自LinerLayout,支持水平方向的排列。当空间不足时支持两种压缩模式。一种是直接隐藏,一种是用省略号代替。支持省略号显示最小字数设置,到正文小于该字数时,控件自动隐藏

2020-12-17

使用Glide4.0 实现点赞动画的demo

Glide实现点赞动画 1. 怎么动态的添加一个动画到指定的View 2. 怎么实现GIF只播放一次 3. 这么监听GIF播放完毕的时间(因为需要在结束时播放消失动画)

2018-06-14

空空如也

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

TA关注的人

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