
android学习记录
文章平均质量分 72
岩浆李的游鱼
理想还很远,但今天我努力了吗
展开
-
ConstraintLayout最详细使用,减少嵌套优化ui,提升app性能
可能你觉得ConstraintLayout属性多,且属性长而弃用它,那你错失了这个大宝贝。因为在复杂布局,我们会一直用RelativeLayout和LinearLayout去嵌套,因为嵌套的ViewGroup会导致手机多次测量和绘制,从而影响性能,如果嵌套严重可能出现掉帧或卡顿。使用ConstraintLayout一招入魂。一句话概括是:传统布局能实现的,它能轻松实现实现。传统布局不能实现的,它也能实现。一、为什么要用呢?这里举个2个简单的例子。1.1、例1如图下图所示,我们分别用Relativ原创 2022-03-04 17:00:43 · 4055 阅读 · 1 评论 -
android的js互调,如何在webView加载前给web传值
前言: 今天做项目遇到个问题。需求是:webview在加载网页的时候,在网页渲染前给web传值,用于网页渲染?看完,你是不是很有兴趣?接下来我把js交互也详细总结一篇。希望对同学们有帮助。一、android调用web上的方法直接上代码吧://无参调用,方法名为:setDeviceData;这里的参数为jsonbinding.webViewX5.loadUrl("javascript:setDeviceData()");//有参数调用,方法名为:setDeviceData;参数为:jsonbin原创 2022-03-02 17:21:49 · 2989 阅读 · 0 评论 -
自定义控件,
大神勿喷,菜鸟互相学习!!首先上效果图:这里你要清楚这个自定义控件的步骤:1、首先画上静态的圆环和未选中的购。2、当点击控件不画之前的静态图,其次启动一个画粉色圆弧的动画。圆弧画满后设置FILL充满颜色。3、圆弧画满后启动一个花白色的圆。圆的半径逐渐变成0、4、白色圆变成0后,粉色启动一个半径变大再缩小,形成一个放大效果5、然后画路径,这原创 2017-11-24 10:45:48 · 281 阅读 · 0 评论 -
Android自定义控件:一款多特效的智能loadingView(想学习自定义控件,这篇对你很有帮助哦!)
先上效果图(如果感兴趣请看后面讲解):1、登录效果展示 2、关注效果展示 3、非圆角按钮展示 前话:现在待的公司基本都不...原创 2019-06-17 09:33:47 · 1779 阅读 · 0 评论 -
Activity跳转动画,无缝链接
相信到家都知道跳转动画都是用 overridePendingTransition(R.anim.anim_in,R.anim.anim_exit);那我们我来给大家介绍下。相信都知道动画跳转调用overridePendingTransition,要在startActivity 和finish之后使用。现在来介绍下参数:(1)、当Activity A -->跳转到 Activit原创 2017-11-09 16:48:12 · 1262 阅读 · 0 评论 -
在固定长宽imageView上,显示图片指定区域
最近做脸搜项目,在固定imageView长宽的列表要,无论原图是什么大小和形状,要使图片充满屏幕。有人会说那用ScaleType.CENTER_CROP不就好了吗。对!但是有个问题会居中显示。现在的需求是,要显示带脸部的区域。上效果图(这里以一张大图为原图):相信你们看到了。这张大图,如果用ScaleType.CENTER_CROP,那么只会显示,女孩的肚子。这样在项目...原创 2018-05-11 15:12:46 · 2734 阅读 · 0 评论 -
高仿微信软键盘
(最近本来想换工作,有伯乐请联系我lihangleo2@163.com)功能:1、支持android原生表情换ios表情2、支持自定义表情首先感谢以下2个开源项目:1、android表情转ios表情(https://github.com/rockerhieu/emojicon)2、软键盘和表情键盘切换防止闪动(https://github.com/shinezejian/e...原创 2019-01-22 14:27:02 · 1060 阅读 · 0 评论 -
ImageSwitcher的使用
Android自带控件ImageSwitcher,翻页渐变的效果:其实很简单,直接代码:public class MainActivity extends AppCompatActivity implements View.OnClickListener { private Button button_add; private Button button_j原创 2017-11-24 14:19:51 · 2724 阅读 · 0 评论 -
在图片上做标签,图片可放大缩小
最近有个功能需要标记出没张图里脸部,并且点击大图后,图片可以缩放,标记也会跟着移动。有点类似地图tag眼见为实,先上一张效果图:由于最近项目已经完成差不多,在这段时间里把觉得有质量的功能拿出来和小伙伴们一起分享。首先这里先借鉴了下前辈的在图片上做标签,在此感谢无缘公子。梳理功能以后,首先你要知道。后台返回的数据,包括 左上角坐标点 和 右下角坐标点。同...原创 2018-05-07 14:39:33 · 3521 阅读 · 3 评论 -
android 自定义相机
最近项目发现。自定义相机不适配android 全面屏手机。有些拉伸。查阅一番资料后,强撸了一番。自定义相机支持1。点击拍照,长按录制2。支持人脸识别3。支持美颜4。照片加滤镜5。视频加滤镜6。手动聚焦 和自动聚焦7。适配安卓全面屏在此感谢VideoEditor-For-Androidandroid-gpuimageAndroidFaceDetection...原创 2018-10-23 15:27:24 · 1511 阅读 · 0 评论 -
3DViewPager类似画廊效果
这2个月加班,加成狗。这里总结一下小需求。在项目里遇到一个要画廊效果,在网上查阅了大量资料,很杂。后面经过自己的整理。在此记录一下。希望对你有帮助效果图:关键属性在于:android:clipChildren="false"项目里有介绍,和几个不同的动画。此时你也可以想扩展成满屏,有多个的。因为时间。就不多扩展了github传送门,对你有启发,帮忙star吧~...原创 2018-06-28 11:47:51 · 787 阅读 · 0 评论 -
属性动画的3D效果
先上效果图,真机上效果更佳:是不是感觉很酷炫,联想到activity跳转和fragment的跳转,是不是心里有一点小小的激动。main里的代码:public class MainActivity extends AppCompatActivity { private ImageView image; @Override protec原创 2017-11-24 16:46:25 · 393 阅读 · 0 评论 -
像白话文一样,深入理解OkHttp源码
前言本人待在一家普通公司很多年了。做着一些非常普通的项目。一直知道IT行业,不是在学习的路上,就是在被淘汰的路上。有一颗进大厂的心,想寻找有梦想的兄弟,一起进阶学习,让我们的孤独少一些。这是我14-19年的历程,也是开源控件ShadowLayout(star2.2k)作者19后我觉得T型发展很重要,期间学会了web开发,后端入门,以及简单学习了unity。但最近收到很多大厂的内推,和一些19年的小伙伴都进大厂了给了我很大触发,为什么!?为什么我差一步要放弃呢。从9月开始,我回头认真收拾Android知识原创 2021-09-17 09:25:32 · 695 阅读 · 2 评论 -
高仿抖音列表,这个丝滑程度有几分相似呢?
前言: 最近有个需求,就是模仿抖音刷视频。要求我们对视频进行缓存,那样在刷视频的时候,会比较流畅。虽然描述起来非常简单,但是也花了我一番心血。经过2个星期的加班,效果来了。一、高仿抖音刷视频这里我暂时展示下效果。二、视频精准快进/退及点赞三、高仿评论页面在回复别人评论的时候,把此条评论顶在键盘上方四、从列表到视频播放列表的丝滑动画结束语差不多就这些了。如果这篇博客浏览和点赞可观的话。下篇我就开源这个效果(怕白费力气啊)。一起加油吧、...原创 2021-09-01 15:00:48 · 374 阅读 · 2 评论 -
GitHub 无法上传 fatal: Authentication failed for...
前言: 今天更新了下ShadowLayout 3.2.2。上传代码到github的时候碰到了标题描述那样的问题。话说我月初上传都是好的啊。而且一直是用github账号密码去上传的。百度没办法解决,最后google到了一种解决方案,故此记录。希望也能帮助无奈的同学们步骤一:点击头像,选中下方的设置Settings步骤二:进入设置界面,选中Developer settings开发人员设置步骤三:进入开发人员设置后,选中Personal access tokens,后点击Generate new原创 2021-09-01 10:33:38 · 863 阅读 · 0 评论 -
Room条件语句为空时,查询全部数据
前言 :领带安排,将我们一款量表app做一款离线版本。因为说医院可能有些地方没有外网,且不想提供量表测试数据。所以我就用room数据库,自己做了本地数据库。问题:当我遇到多条件筛选时,因为Room的查询语句是提前写在Dao里的。如何写呢?上干货如果name有数据,就按name去查,如果name为空数据,就查全部@Query("SELECT * FROM PeopleBean WHERE :name='' or name= :name")Single<List<PeopleBean>原创 2021-04-28 17:12:09 · 2381 阅读 · 0 评论 -
BindingAdapter在Kotlin里使用,编译不过,一直报错xx。终极解决方案
这里直接进入主题了!因为Kotlin里没有static。所以你的DataBindingHelper长这样object DataBindingHelper { @JvmStatic @BindingAdapter("imageurl") fun loadImage(imageView: ImageView, url: String) { Glide.wit...原创 2019-10-24 17:13:46 · 1573 阅读 · 0 评论 -
Unable to resolve dependency for ':app@debug/compileClasspath': Could not resolv...【终极解决方案】
(前话:工作中会遇到一些难题bug,所以我建了个Bug交流群,群号:209010674,兄弟们在工作忙完了,大家都一起帮忙解决吧。互帮互助,一起进步)问题:最近3.2studio突然出现这个问题,在网上搜了一天,也没有解决掉。真的不知道,那些博主都试过没有。下面是我试过的,主要针对设置过代理镜像的。没有设置过的也可以试试。多试试 才会成功 解决方案: 1、如果在你st...原创 2018-12-04 11:32:13 · 40655 阅读 · 23 评论 -
android高仿今日头条富文本编辑(发布文章)
前言: 在经历了几个月的项目期限。我们遇到了前端发布文章,要用到富文本编辑的功能。在一番衡量下最终用到了richeditor-android第三方框架。实现原理就是通过webView和js实现前端富文本。有想了解的可以点开上面链接,研究研究。虽然richeditor-android已经帮我们实现了大部分核心内容,但是很多细节它都没有完善,这也是为什么他的issues达到170多的原因。也不知道它有没有停更。接下来是作者踩了N多坑之后,把功能基本补全。可以说是高仿“今日头条富文本编辑”。一、先来看看都实现原创 2020-09-22 09:52:34 · 3207 阅读 · 0 评论 -
自己封装一个okhttp,一个看的懂的okhttp封装
前言:封装只是加深自己的理解,网上已经有很优秀的封装,我也是借鉴了okgo和鸿洋的okhttputils。本项目是基于mvc模式下,但这篇只讲如何对okhttp进行封装(这里我按最基础步骤来,需要额外功能,看源码和本文理解,肯定可以实现)。我们封装要有的功能有:支持get请求 支持post请求 支持上传文件 支持下载文件和断点续传 有网络时,支持缓存(连接网络时的有效期) 断开网...原创 2019-08-06 15:40:53 · 1402 阅读 · 1 评论 -
Glide全面分析和使用(通俗易懂)
前言:由于本人今年小孩出生和公司各种原因,出现了一段迷茫期。但最近调整心态,回归初心。虽然这是个金钱至上的社会也要对的起自己。所以立几个flag。1、坚持每天跑步,起床后和睡觉前的段落。2、坚持学习,注重基础。不懂立马自我反馈3、保持心态,虚心学习好了废话不多说了。进入主题。Glide全面分析和使用:glide简单使用,圆形图片,圆角图片,高斯模糊,黑白图片,加滤镜,监听g...原创 2019-06-25 18:01:30 · 2588 阅读 · 1 评论 -
希尔排序算法拆解解析
前言:看了网上很多讲解的,感觉都不是很直观。所以我打算用一个白话文把希尔算法讲清楚。了解的都知道,他其实是插入排序的改进版本。我们都知道如果一组数据中,其局部有序数字越多,插入排序越高效。(如果有不了解的,可以去了解)。知道这个特点之后,希尔算法由此而生。一、先让我们回顾下插入排序//比如有组数据:int[] arr = {8, 6, 2, 3, 1, 5, 7, 4};文字概述: 假设第一个元素为最小数字。那么我们就要从index=1开始往后循环,依次拿后面的数字,与前面的数字依次比较,找出最原创 2020-08-13 16:20:01 · 255 阅读 · 0 评论 -
简单谈一谈git小乌龟操作
这里上传代码什么的都不讲了,直接从一个正常啦下来的项目开始记录。使用git的时候,这里要记得一个概念。这里有本地库和远程库。所有的提交都只是提交到本地库,想要推送到远程库。需要主动推送或同步下。一、创建分支及切换分支创建分支,命名为version1.0.1这个时候你去远程仓库看,分支还是1。意思是你再本地库了创建了分支version1.0.1。但是没有同步到远程仓库。我们把项目切换到本地分支version1.0.1。点击如上切换/检出,就会弹出下面按钮,选中分支,点击确定即可二、修改原创 2020-07-06 15:08:21 · 7076 阅读 · 1 评论 -
editext不支持表情外,支持任何内容
前言:在网上看了很多相关内容。确实有些起效。但是标点符号不能打。有些能打但是不能完全屏蔽表情。下面是本人大量测试后找出的正则表达式, InputFilter inputFilter = new InputFilter() { Pattern pattern = Pattern.compile("[\ud83c\udc00-\ud83c\udfff]|[\ud83d\udc00-\ud83d\udfff]|[\ud83e\udc00-\ud83e\udfff]|[\u2原创 2020-06-05 13:14:00 · 351 阅读 · 0 评论 -
Profiler分析内存抖动,Memory Analyzer(mat)分析内存泄漏(不懂砍我)
前言: 最近在系统性的温习了一遍android性能优化。写博客是学习也是记录,希望在记录的同时也能帮助其他同学。最近我觉得我想出一个不懂系列。“不懂揍我”,“不懂砍我”,“不懂捶我”一、Profiler分析内存抖动在我们开发项目中,如果稍不注意,往往会出现内存抖动的情况。而有些内存抖动也可能造成我们的程序卡顿,甚至泄漏。接下来使用Android Studio自带的Profiler分析内存抖动。1.1、模拟内存抖动并打开Profiler首先在MainActivity创建一段内存抖动的代码:priv原创 2020-05-09 17:58:24 · 1488 阅读 · 2 评论 -
Andorid性能优化之traceview的使用(不懂揍我)
一、traceview的使用方式有2种方式这2种方式可以根据场景,去选择哪一种方式。最终效果是一样的通过手动埋点Profile1.1、通过手动埋点。步骤1: 比如我们知道在点击一个按钮的时候,会有卡顿,那么就可以用//可以用以下代码测试你的代码。//开始埋点,“app”是最后生成的性能分析文件Debug.startMethodTracing("App");//埋点结束,期...原创 2020-04-27 17:30:34 · 610 阅读 · 1 评论 -
Android中的AOP的实现及AspectJ的使用
一、OOP和AOP的简单简介和区别OOP(Object Oriented Programming): 这就是我们android中的面向对象开发。面向对象的三大特征,封装、继承和多态。这里不多赘述。AOP(Aspect Oriented Programming):面向切面编程;AOP则是面对业务逻辑处理过程中的切面进行提取,也就是程序处理的某个步骤或者阶段,以达到代码间的低耦合、代码分离、提高代...原创 2020-04-09 17:56:43 · 1941 阅读 · 0 评论 -
Andorid自定义相机,点击拍照,长按录制以及调用系统相机录制(相机系列二)
前言:本章是针对相机系列一衍生的,都是基于camera自定义的。可能网上也有很多资料或者文章,但是看完这两篇文章,你也肯定学会了自定义相机这块(仿微信点击拍照,长按录制);而且我觉得我文章的最大优势是用最简单的语言去描述代码。那么接下来同样是图文并茂。如果大家没有看相机系列一,建议去看看。我这里会直接开始讲视频这块的。本章2节:自定义相机拍照,及调用系统相机 – 相机系列(1)自定义相机录制...原创 2020-03-20 10:49:18 · 697 阅读 · 0 评论 -
Android调用系统相机适配(7.0以上),以及camera自定义相机在全面屏上的适配方案(相机系列一)
前言:因为之前接触自定义相机,在遇到全面屏手机的时候,和原相机比总会隐约有点拉伸。困扰了很久,在此有大神有更好解决此问题的,可以在评论区指点下小弟。本文是基于camera的自定义相机。相信有开发相机经验的同学都知道,在代码里camera相关类和方法都是划横线的。因为在5.0后google舍弃了camera,有了camera2。但是对于定制化不深的,或者功能不复杂的亦或者是应用还可能覆盖在4.0...原创 2020-03-17 18:43:25 · 2248 阅读 · 0 评论 -
一篇文章让你弄懂Android Debug调试
疫情的特殊时期,希望大家注意安全,武汉加油。文章主要是记录,同时能帮助还不明白的同学一、打上断点,启动debug模式首先在我们需要打断点的代码行数上稍微偏右,点击鼠标左键,如图:点击小爬虫按钮,启动debug模式。运行成功后如下。可以看到红色框内,从下往上的顺序运行方法,一直阻塞在我们打断点的方法里;绿色款内,则是展示目前阻塞方法内变量和参数的数值。二、接下来,我们一起分解d...原创 2020-02-26 14:32:57 · 1514 阅读 · 1 评论 -
Android Studio中点9图片的详细使用教程
前言: 最近又使用到了。9图片,因为之前没有记录还是走了不少弯路的。所以好记性不如烂笔头。在此记录一下。希望对不明白的同学有所帮助。简单介绍下点9图片的作用,比如微信里的聊天气泡,因为我们输入的内容是随机的,所以聊天气泡背景的形状是不固定的,可大可小,可长可短。这个时候就可以利用1张点9图片来解决这个变化的问题。一、选择一张普通的图片右键,创建我们的.9图片这里我们以ic_launcher为...原创 2020-01-07 16:04:27 · 1755 阅读 · 0 评论 -
Android Studio3.5及使用AndroidX的一些坑
google的更新优化往往会牵动一大批开发者的心。去年的androidx,到今年studio3.5后都默认使用androidx了。其实对于我们开发者而言,我们都只是调用他的api,对我们的影响不大??!可是人性的习惯,还是比较不那么容易改变的。现在我就来说说我遇到的一些坑吧。话说还是很严重。不知道androidx的请自行百度。一、我们从新建一个项目说。3.5新建项目,是默认使用andro...原创 2019-11-12 08:39:01 · 9966 阅读 · 0 评论 -
引入多个开源库导致support包引用错误报错,如主项目使用了依赖里的support版本
场景:假如你的主项目是:implementation 'com.android.support:appcompat-v7:28.0.0'然后你添加了一个依赖,在你的依赖里引用了依赖:implementation 'com.android.support:appcompat-v7:25.3.1'预期本来是:你本项目用的是自己的support,依赖用依赖的。当然是不希...原创 2019-08-05 13:40:34 · 465 阅读 · 0 评论 -
融云的简单实现
刚看完王阳明心学,觉得是时候知行合一了!!!,希望有帮助!!废话不多说,直接进入主题:进入融云开发文档:http://www.rongcloud.cn/docs/android_imlib.html相信有一定的工作经验的你,关于申请账号和导入jar都不会陌生,跟其他第三方是一样的。但这里有个特殊的地方是获取token。这里的token的概念加是,在你项目申请融云账...原创 2017-11-06 17:15:12 · 1329 阅读 · 0 评论 -
Android Studio3.0以上多渠道打包
最近在复习学习,准备。你懂的,记录记录。互相学习首先,来到你的AndroidMainfest.xml文件下<meta-data android:name="ATMAN_CHANNEL" android:value="${ATMAN_CHANNEL_VALUE}" />这里的ATMAN_CHANNEL 和ATMAN_CHANNEL_VALUE 都是自己自...原创 2019-07-01 10:25:46 · 2165 阅读 · 0 评论 -
卡片滑到详情页,切详情页退出回到卡片状态
今天产品提了一个效果,卡片滑到详情,且详情页还能滑动。具体我就不文字复述了。相信你也不会看,直接给2张图。给个star。 1.这里是地图帖子,随意点击哪个贴子,插入目前视图的下个index里 2.卡片滑到详情页,以及详情页的一些操作。 github传送门...原创 2018-08-31 15:58:29 · 1172 阅读 · 0 评论 -
如何将自己的项目变成依赖(Android中的三种依赖教程)
前言:网上有很多资料。本文只是针对自己的理解和实践的记录。Android中有三种依赖方式:1、模块依赖(项目module)2、本地依赖(主要是对本地的jar包)3、远程依赖 模块依赖 module 步骤 ①:创建一个正常的项目,把你想要的功能(最好是能复用的功能)写上,可删除项目本身的activity和布局文件。找到项目的build.gradle...原创 2019-04-25 10:24:48 · 4992 阅读 · 2 评论 -
随机item宽度RecycleView之 RandomRecycleView
昨天发版完,今天又事件一口气,把优质demo上传!~给大家分享一个速记item宽度的recycleView.效果图:你相信这是用recycleView做的吗?!关键步骤!~ 想要代码。去star下吧github地址...原创 2018-06-28 16:31:02 · 939 阅读 · 0 评论 -
人脸搜索框过度效果
独立开发的 “脸搜”, 上一个过度效果。有兴趣的朋友可以去下载看看。另外喜欢交流开发的,本人qq:445442684 答案:不离不弃直接上效果图:这里简单介绍下思路:看到这个效果有没有想到,频道管理。没错!我就是在之前的基础上稍加改动了。在此特别感谢,代码上注释,标注很清楚。这里唯一的难度在于 在动画执行的过程中 要屏蔽掉 点击事件。马上社区的需求要来了,加班2个月了,受不了。有大佬...原创 2018-06-28 14:08:23 · 885 阅读 · 0 评论 -
共享元素实现大图浏览,即recycleView到ViewPager共享动画setExitSharedElementCallback(及整合高仿微信大图查看,拖拽退出)
共享元素实现大图浏览,左右滑动共享item改变。(及整合高仿微信朋友圈大图查看,拖拽退出。在文章末尾贴出)废话不多说直接上图1、滑动改变item2、滑动列表不可见,列表下滑图1是本地资源文件展示。目的是怕时间过久,网络url失效。图2是网络url。此时会有网络问题,图片一时半会加载不除来,此时会有个延缓加载共享动画的机制。同时博主还做了对图片加载进度的...原创 2018-05-04 17:41:48 · 8483 阅读 · 10 评论