自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

TomCat0916的博客

Android技术分享

  • 博客(86)
  • 资源 (5)
  • 收藏
  • 关注

原创 ConstraintLayout中子布局wrap_content超出屏幕处理方案

> 在ConstraintLayout中使用链式约束布局,且子控件宽度设置为wrap_content,无其他强制宽度约束,布局效果默认各子控件最大宽度/高度=ConstraintLayout宽/高,导致子控件可能超出ConstraintLayout布局范围> 注:引入版本--'androidx.constraintlayout:constraintlayout:1.1.3'

2020-08-07 15:14:05 7747

原创 使用RecyclerView实现抖音纵向滚动ViewPager效果

使用RecyclerView实现抖音纵向滚动ViewPager效果 重写LinearLayoutManager,在onAttachedToWindow方法中使用 PagerSnapHelper设置RecyclerView条目加载方式为每次滚动加载一页class MyLinearLayoutManager : LinearLayoutManager { private l...

2018-06-05 13:49:44 4631

原创 Kotlin DSL C++项目引入OpenCV异常处理

kotlin DSL(build.rgadle.kts)项目引入openCV sdk 编译提示Plugin [id: 'com.android.application', version: '8.2.1', apply: false] was not found in any of the following sources:

2024-01-11 10:03:04 788 1

原创 Vue+ts+markdown-it代码高亮复制行号

通过markdown-it 自定义显示markdown组件,实现代码复制按钮和行号显示。

2023-12-29 14:27:19 626

原创 自定义label组件

支持边框绘制支持shape背景(按指定圆角裁剪,矩形,圆角矩,圆形),支持指定角圆角支持自定义阴影(颜色,偏移,深度)边框颜色支持状态选择器if (helper!

2023-11-23 17:57:32 387

原创 自定义Android滑块拼图验证控件

拼图认证视图默认策略工具类参考1、继承自AppCompatImageView,兼容ImageView的scaleType设置,可设置离线/在线图片。2、通过设置滑块模型(透明背景的图形块)设置滑块(和缺省块)样式,可修改缺省块颜色。

2023-08-16 11:47:17 634

原创 NullPointerException ‘android.view.Window$Callback android.view.Window.getCallback()‘

java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.Window$Callback android.view.Window.getCallback()',通过studio直接debug没有任何异常但是打包后安装运行部分页面出现一个空指针异常。

2023-07-20 10:44:25 119

原创 BaseDialog

【代码】BaseDialog。

2023-03-10 17:49:56 106

原创 Js 下载大文件Error: Network Error

Js 下载大文件 Error: Network Error

2023-03-07 15:09:48 1345 5

原创 echarts树图

【代码】echarts树图。

2022-12-15 15:29:54 365

原创 tsx自定义Timeline 时间线

【代码】tsx自定义Timeline 时间线。

2022-12-11 17:31:13 266

原创 DOM元素打印(Window.print)

DOM元素打印(Window.print)

2022-11-09 16:21:04 1075

原创 二维码生成/保存/打印

前端js二维码生成/保存/打印

2022-04-01 15:43:09 1349

原创 openCVforAndroid4.5简单集成

openCVforAndroid4.5简单集成下载资源方式一集成方式二集成下载资源方式一集成1、将下载的opencv-4.5.5-android-sdk.zip解压2、新建项目(过程省略)3、删除OpenCV-android-sdk\sdk目录下除红框内的文件,并导入到as项目中(new->module->Import Eclipse ADT project)至此可以直接引用此Module 并在java中使用opencv4 如需引入并包装opencv中jni文件,可按Open

2022-03-24 16:10:29 565

原创 自定义引导控件

自定义引导控件引导控件attrs文件使用示例xmljava监听事件引导控件1.可在XML文件中直接绑定当页需引导的控件集合2.可在java文件中手动绑定当页需引导的控件集合,亦可单独绑定/添加3.可在java文件中手动绑定当页需引导的矩阵位置集合,亦可单独绑定/添加注:绑定集合则跳转集合首位引导位置,绑定单一引导则跳转至该引导,添加时不跳转支持矩形/圆角矩形/椭圆形镂空标注引导位置支持任意View子控件做提示标注(标注位置自动计算),但标注控件需要为GuideView的ChildView

2022-01-16 17:34:38 2088

原创 自定义文字跑马灯效果(滚动文字)

丝滑滚动问题 无焦点限制 无文字长度限制

2022-01-07 09:55:19 1426

原创 多边形围点

判断某点是否位于多边形围点内方法一 @JvmStaticfun contains(loc: Location, locs: List<Location>): Boolean { val count = locs.size if (count <= 2) { return false } var nCross = 0 for (i in 0 until count) {

2021-12-17 17:52:49 1619

原创 无法访问OnReceiveContentViewBehavior

无法访问OnReceiveContentViewBehavior现象症结可能是appcompat版本过高implementation 'androidx.appcompat:appcompat:1.3.1'修复降低版本 implementation 'androidx.appcompat:appcompat:1.2.0'

2021-12-11 13:50:21 1892

原创 OkDownload下载异常ResumeFailedException: Resume failed because of RESPONSE_PRECONDITION_FAILED

OkDownload下载异常ResumeFailedException: Resume failed because of RESPONSE_PRECONDITION_FAILED异常log日志 com.liulishuo.okdownload.core.exception.ResumeFailedException: Resume failed because of RESPONSE_PRECONDITION_FAILED at com.liulishuo.okdownload.core.down

2021-11-30 16:47:21 2744

原创 手势图形密码控件

手势图形密码控件手势图形密码控件public class GestureView extends View { /** * 默认格子数 */ private static final int POINT_COUNT = 9; /** * 默认中心点的半径 */ private static final int POINT_RADIUS = 2; /** * 默认外圈半径 */ private

2021-09-09 08:53:40 172

原创 Cohen-Sutherland算法实现求线段是否过区间

Cohen-Sutherland算法实现求线段是否过区间public class SutherlandUtils { private static final int LEFT = 1; // #0001 左 private static final int RIGHT = 2; // #0010 右 private static final int BOTTOM = 4; // #0100 下 private static final int TOP =

2021-09-05 17:26:08 145

原创 Android OpenGLES使用示例

Android OpenGLES使用示例正多边形//正多边形public class Polygon { //顶点着色器(顶点画笔) public final String vertexShaderCode = "uniform mat4 uMVPMatrix;" + "attribute vec4 vPosition;" + "void main() {" +

2021-09-02 10:01:38 796 2

原创 自定义镂空蒙版控件

自定义镂空蒙版控件

2021-07-08 20:05:30 187 1

原创 Android APP启动优化

Android APP启动优化优化方案校验优化方案1、压缩启动页背景图片2、如果三方SDK启动过于耗时,可以Application的onCreate()方法中启动一个后台线程,在线程中初始化非即时使用的SDK3、减低启动页布局复杂度和嵌套深度4、延时启动页数据加载和逻辑处理,例如在view的post方法和activity的onAttachedToWindow()中处理。校验adb统计启动时间命令adb -s 设备ID shell am start -W {包名/启动页全路径} /

2021-06-06 11:51:17 206 5

原创 kotlin+Socket+协程 示例

kotlin socket 协程

2021-05-31 14:38:08 2092

原创 Android 应用详情中修改权限后应用崩溃

Android 应用详情中修改权限后应用崩溃一 问题描述在有fragment(没有空构造函数、或者私有空构造)的页面,应用进入后台,手动进入应用详情修改应用权限,重新打开应用,应用崩溃二 问题排查1、经网络查询得知后台修改应用权限后,重新进入页面,onCreate方法中savedInstanceState不为空。2、在没有启用fragment情况下后台修改权限,进入应用,打印onCreate方法中savedInstanceState的信息。3、复现问题流程,打印onCreate方法中sav

2021-04-13 11:52:07 1805 2

原创 Android 动态使用Iconfont图标

Android 动态使用Iconfont图标Android 动态使用Iconfont图标问题思路附Android 动态使用Iconfont图标问题每当进行增删操作后,Iconfont图标文件中Unicode编码可能改变。如何保证进行以上操作后不需要手动变更xml文件中Iconfont字符对照表?思路1、通过后台网络下载Iconfont.ttf和iconfont.json两个文件(文件来自阿里巴巴Iconfont库中Iconfont资源压缩包),可设计版本管理。2、解析iconfont.json

2021-03-08 17:42:19 633 2

转载 Android11(R)新特性梳理

Android11(R)新特性梳理一、隐私设置1、概览2、存储3、权限单次授权自动重置未使用的应用的权限权限对话框的可见性系统提醒窗口变更电话号码4、位置单次访问权限在后台访问位置信息的权限附:参考一、隐私设置1、概览Android 11 引入了一些变更和限制来加强用户隐私保护,其中包括:单次授权:让用户可以选择授予更多对位置信息、麦克风和摄像头的临时访问权限。权限对话框的可见性:一再拒绝某项权限表示用户希望“不再询问”。数据访问审核:深入了解您的应用在何处访问私密数据,无论是在您的应用自己

2020-12-13 09:47:15 4206

原创 自定义CardView

自定义CardView源码public class ShadowCardView extends FrameLayout implements LifecycleObserver { private static final int DEFAULT_VALUE_SHADOW_COLOR = R.color.shadowColor; private static final int DEFAULT_VALUE_SHADOW_CARD_COLOR = R.color.white;

2020-11-29 15:57:28 503

原创 水印绘制控件

水印绘制控件

2020-11-25 11:34:01 150

原创 CheckUpdate

CheckUpdate分离UI和下载,仅包含更新判断和安装逻辑;结合Rxjava链式编程JitPack引用1、工程build.gradle文件allprojects { repositories { ... maven { url 'https://jitpack.io' }//添加 } }2、Modulebuild.gradle文件dependencies { ... implementation 'com.

2020-11-13 11:50:12 668

原创 Android 发布bintray采坑记

Android 发布bintray笔记,不喜勿喷准备工作1、新建Android 工程和需要发布的依赖项目,并编译成功。2、提交GitHub仓库(可省)3、新建bintray 账号、仓库(含package和version)第一步在工程下新建"bintray.gradle"文件apply plugin: 'maven'def groupId = project.PUBLISH_GROUP_IDdef artifactId = project.PUBLISH_ARTIFACT_IDd

2020-11-12 14:08:05 369

原创 扩展EditText-支持IconFont图标

扩展EditText-支持IconFont图标

2020-10-25 16:50:55 206

原创 扩展EditText/TextView固定位置显示文字

文章目录扩展EditText/TextView固定位置显示文字一、问题描述二、解决方案扩展EditText/TextView固定位置显示文字一、问题描述EditText/TextView等控件在设置单行显示后,文字超过控件长度后可滑动显示。扩展EditText/TextView时,自定义绘制的文字也会在上述条件下跟随滑动。二、解决方案由TextView源码知文字滚动和Scroller滚动量有关,所以要固定文字可以在onDraw中设置canvas偏移Scroller滚动量canvas?.

2020-10-23 14:17:35 511

转载 android studio3.0+ build日志乱码解决方案

添加`-Dfile.encoding=UTF-8`到`studio64.exe.vmoptions`文件中

2020-10-19 16:55:03 252

原创 RxJava源码分析(一)

基本原理分析,线程切换代码运行流程分析

2020-10-14 10:48:21 298 1

原创 Kotlin 内联函数与普通函数区别

Kotlin 内联函数结论1、普通函数在使用函数参数后,函数参数会被编译为内部类。2、内联函数在使用函数参数后,函数参数的函数体会被拆解和内联函数体重组为新代码块,不会生成新的内部类。实验1、函数声明 //普通函数 fun inlineTest(s: String, t: (String) -> String) { println(t(s)) } //内联函数 inline fun inlineTest1(s: String, t: (St

2020-07-15 09:30:36 611

原创 java基础Integer

java基础Integerint装箱源码/** * The value of the {@code Integer}. * * @serial */ private final int value; public Integer(int value) { this.value = value; } ... public static Integer valueOf(int i) {

2020-07-13 14:08:58 124

原创 adb批量安装apk脚本

adb批量安装/卸载apk脚本bat脚本页面化 方便操作shell脚本需要命令操作(仅安装脚本/卸载同理)

2020-07-02 11:54:02 2770

原创 自定义注解自动代码构建

自定义注解注入新建javaLib-annotation(自定义注解)自定义注解新建javaLib-processor(注入)MyProcessor 自定义注入AnnotatedHelper 辅助生成注入文件新建javaLib-annotation(自定义注解)build.gradleapply plugin: 'java-library'...//中文乱码问题(错误:编码GBK不可映射字符)tasks.withType(JavaCompile) { options.encodi

2020-06-11 16:39:09 261

adb批量安装卸载apk

bat脚本批量安装/卸载apk 需要adb环境 使用方法: 下载资源并解压; 双击index.dat文件 按提示输入即可

2020-07-02

shell批处理安装apk.zip

1、Windows打开git-bash.exe命令行面板 2、输入命令:sh shell_install.sh "apk文件路径" 3、等待安装结束 注:需要shell环境和adb环境

2020-07-02

bat批处理安装apk.zip

adb多设备批量安装脚本,bat脚本版本 1、打开cmd命令行面板 2、输入命令:bat_install "apk文件路径" 3、等待安装结束 注:需要adb环境

2020-07-02

MPAndroidChart-v3.1.0-sources.jar

MPAndroidChart-v3.1.0-sources.jar源码文件,可直接查看或者导入as中使用

2019-04-29

android简历app

1、集成友盟分享,登录,统计,推送; 2、集成zxing扫描二维码和生成二维码; 3、集成sqlite数据库存储信息; 4、使用webview加载网页版高德地图; 5、集成picasso图片加载框架; 6、集成takephoto从相机和相册获取图片框架; 7、集成Gson处理json数据; 8、集成okhttputils网络框架和okhttp日志拦截器; 9、集成Eventbus; 10、封装了一些通用工具类; 11、支付宝和微信支付(均未签约无法真实支付,但是支付宝可以调用沙箱应用完成支付流程)

2018-05-12

空空如也

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

TA关注的人

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