自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

易瑞的博客

心有猛虎,细嗅蔷薇

  • 博客(39)
  • 资源 (17)
  • 收藏
  • 关注

原创 十大经典排序算法

public class SortUtils { /** * 冒泡排序 * 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 * 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。 * 针对所有的元素重复以上的步骤,除了最后一个。 * 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。 */ public int[] bubbleSort(int[] arr.

2021-08-18 18:07:54 132

原创 Android 仿卡片消消除

最近产品看到一个儿童趣味匹配游戏,叫**match,然后就叫客户端直接实现,然后新增到APP里的一个小模块里,看到这个也挺有意思的,就记录下来,下面先看看效果图吧:

2020-08-27 10:39:12 1665

原创 RecyclerView样式的日历选择器

看到携程,飞猪上面的日历选择,比如飞机票选择里的日历,这里就会是列表形式的日历选择,这上面会有还会展示价格,折扣之类的东西。但是这个有个缺点,就是固定了从哪一天到哪一天,而且是对于未来某段时间的展示,如果要展示之前的呢,要无限加载呢?下面就来看看我所实现的效果吧:实现效果就是这样,无限下拉加载更多日历,然后每个日期的的item也是可以自定义,加上点加上背景,字体设置都是可以的。<?xml version="1.0" encoding="utf-8"?><Rel...

2020-07-30 14:59:30 1230

原创 Android自定义密码输入框

最近朋友咨询了一个表格输入框,查看了以前代码,现在重新整理了一下,将输入框的边框颜色,字体颜色,分割线颜色都抽出来了,方便不同需求的设置。先看看效果图: 由于比较简单,所以直接查看代码吧,import android.content.Context;import android.content.res.TypedArray;import android.graphics.Canvas;import android.graphics.Color;import android...

2020-07-29 10:50:27 2090

原创 Android 画板功能实现

Android一般实现一个画板功能,都能想到去坚定ontouch方法,然后通过这个方法返回的按下,移动,抬起,的回调监听,不断的更改在屏幕上的X,Y值,然后通过paint在canvas上不断的绘制,然后剩下的就是调整抗锯齿,画笔的平滑度等操作。 没错,大概思路也是如此,所以这篇文章也只是针对当前通用的画板进行细节处理和描述。首先看一下ontouch方法吧,这个方法主要的也是分发的功能。 @Override public boolean onTouchEvent(Motion...

2020-07-02 09:33:17 868

原创 图片中不规则区域的点击

接着上一条,对于找茬里面更高的要求就是一张大图中不规则图形的点击处理,需要获取点击区域,然后点击对这个不规则区域进行处理,如变色等操作,还能知到点击的是哪个不规则区域。先看效果图:这个先要一个xml,这个xml里面就是各个不同区域的描点数据。先看看这个数据怎么获取吧,需要工具:Adobe Dreamweaver 。下面的演示操作使用的是Adobe Dreamweaver CC 2018.第一步:第二步点击插入一个Image,第三步:这里要选择设计,然后再回到拆分...

2020-06-29 16:23:20 5581

原创 仿大家来找茬

作为Android应用层程序员,比较讨厌的就是让实现游戏里的部分功能,一般程序员都会认为这个需要专门的游戏开发才能实现,或者需要专门的动效开发人员才能实现。下面就来看看仿照“大家来找茬”这个的简单实现方法吧。先看看效果图:这里要描述里面bean使用到的widthScale和heightScale这两个怎么计算的,取值范围在0-1之间。WindowManager manager = getWindowManager(); DisplayMetrics outM...

2020-06-29 11:39:42 2068 1

原创 烟花爆炸动效

越来越多的地方都会用到烟花效果了,而且很多游戏都会有类似通关之后的爆炸特效,今天来分享一下烟花爆炸的动效。升空的动画就不用写了,主要就写个view的位移,重点就是四散开来的爆炸。下面见见效果:下面就来看如何处理的吧,将烟花爆炸的火花转变为bitmap,然后根据这个火花的个数,创建出多个bitmap,给每一个bitmap一个随机的角度,为后面的四散做准备: private void init() { Random random = new Random(System.cu...

2020-06-20 17:24:23 3005

原创 流星飞行 火箭尾气动效

这个主要想分享一下,类似彩带快速飞行的动效,主要可以作用于飞入购物车动效。飞机飞行尾气跟随动效等。主要灵感来自于很多小游戏里的点击飞行特效。先看看效果:先看看尾部不停的闪耀和不停地产生新的star开始,原理就是给定一个角度,然后随机生成偏移量。在给定角度内,不停的使用Paint画出bitmap,然后不停的随机计算位置,然后再给上透明度的变化就可以了。 private void init() { // 0~360 float direction;

2020-06-18 11:09:39 555

原创 可拖拽控件

长时间没有更新blog了,由于最近所做的项目涉及比较多的用户界面操作,现在抽空更新一波。这个blog主要处理是拖动图片到另外一个位置来替换图片的操作。如果位置不正确就会回弹回去。先看看效果图:收到这个需求的时候第一想法是监听手指在屏幕中的操作,来实时获取手指所在屏幕的坐标,进行实时更新被拖动图的位置,但这种做法就会影响到页面中其它按钮的点击事件了。如果处理点击冲突事件,就记录被拖动图的区域再处理ontouch方法,这样就需要计算的成本很大了。另外一种想法是,直接监听被拖动图的触摸事...

2020-06-17 11:51:42 1507

原创 事件分发机制

面试被问到最多的,记录一下,先来看看使用流程图绘制的图形吧。上图就是完整的事件分发机制的流程图,如果对这块曾经了解过,由于时间过长而忘记的,看一下应该就明白了,如果对这块不了解,下面也用文字方式描述一下,方便记忆。 当点击的时候会先调用顶级的ViewGroupde的 dispatchTouchEvent,如果顶级的ViewGroup拦截了此事件(onInterceptTouch...

2019-10-09 15:54:19 351

原创 卡片 Fragment 轮播

最近有个需求,需要写一个轮播,卡片形式的然后又不单单是图片,里面还需要一些文字布局之类的,那就不能使用简单的banner来加载了。想着也不想去引入包,免得乱七八糟,所以就动手自己画一个,最后经过扩展也搞了一个类似京东订单的布局,和一个风车类型的轮播。先看看效果图: 也就这三种,其实实现起来非常简单,首先需要的是 一个适配器,用来存放fragment的,这fragment就是你...

2019-08-30 17:21:24 416

原创 两端分散对齐的Textview

记录一个TextView,以防忘记import android.content.Context;import android.content.res.TypedArray;import android.graphics.Canvas;import android.graphics.Paint;import android.graphics.Rect;import android.t...

2019-08-07 17:09:51 290

原创 手机翻转实现技术

Android中检测重力感应变化大致需要下面几个步骤:1) 得到传感器服务 getSystemService(SENSOR_SERVICE);得到一个SensorManager,用来管理分配调度处理Sensor的工作,注意它并不服务运行于后台,真正属于Sensor的系统服务是SensorService,终端下#service list可以看到sensorservice: [android....

2019-07-24 11:00:32 1459

原创 MVP框架搭建

说到MVP,在网上查找了很多相关的资料,基本上是看得时候模模糊糊,然后过段时间就忘记了,如今空闲下来就来简单记录一下这个MVP吧。网上都喜欢拿着MVP和MVC之间比较,然后就会有两张图,我反正是第一次看到时候是懵逼的,就像背书一样记下来(全是为了面试),后来随着代码量的增加,然后逐渐对这些有了新的认识,网上再多东西都是别人的,只有当自己理解了才是属于自己的。 基本都是这...

2018-12-05 15:43:55 2128

原创 Android 6.0以下获取Camera权限问题

当我们使用手机相机的时候,通常就会想到先获取手机相机权限,也就是运行时权限。也就是类似下面方法 /** * 申请相机权限 */ private void startRequestPermission(){ //321为请求码 ActivityCompat.requestPermissions(this,PERMISSIONS_ST...

2018-11-28 14:47:30 2973

原创 Android 密码输入框

好久没写blog了,今天抽空写一个Android里面都能用到的自定义控件,密码输入框。简单介绍一下这个密码输入框的样子吧,当软键盘弹出在输入适合,会有删除的图标显示,点击删除会清空Edittext,后面也会有个眼睛的图标,点击切换是否加密显示和明文显示,当软键盘消失适合,后面那个删除的图标是消失的,其它的功能是和Edittext一样的,毕竟也是对于一个Edittext的自定义控件吧。下面就来看看我

2017-11-06 15:55:49 14308

原创 金融类应用上传

最近一直在搞金融方面的app,因此都没什么时间来写blog,代码都写完了,却发现金融app上传到应用市场上的一些坑,接下来就和大家分享一下自己遇到的一些坑吧,希望有在做这块的提前都了解下,以免自己去上传浪费时间,安卓对于特殊行业的app上架审核还是比较严格的,多少希望有帮助吧。1. 360移动开放平台审核未通过:(1)亲爱的开发者您好,您提交的应用涉及p2p网贷,请提供主体公司与银

2017-10-31 14:18:12 2579

原创 仿朋友圈图片显示

很多项目都会有一个功能,就是仿朋友圈一样的动态显示,但这个里面有个问题就是图片的摆放是怎样的呢?用recycleView ,用GrideView?在实际过程中,根据不同项目要求不一样的,以上两种有些时候是不太方便做好图片摆放的,因此需要自定义一个,下面就来看看我的SuperGridLayout是如何处理不同张数图片,然后不同显示的吧。首先是模拟数据,给列表添加的数据,一个HashMap,pie

2017-08-01 09:07:29 885

原创 Android 数据存储

数据存储是每个项目必备技能,在Android中,可供选择的存储方式有SharedPreferences、文件存储、SQLite数据库方式、内容提供者(Content provider)和网络。对于内容提供者使用方面比较少,因此这里就不做介绍了,下面介绍其它四个比较常用的存储方式。haredPreferences是Android中最容易理解的数据存储技术,实际上SharedPreferences

2017-07-28 13:50:01 263

原创 新建项目之TabHost

很多朋友会遇见这么一个问题,项目写完了,需要新建一个项目,或者刚开始做项目,就会发现,整体框架怎么搭建,大多数都是在以前项目或者网上找个项目,在里面去复制代码,这样多累啊,因为一个成熟项目在框架里面会有很多东西是你新项目不需要的,对于下载别人代码而言看起来会比较麻烦。下面就来给大家写一个空的项目框架,主要就是Tabhost。大体就长这个样子,下面四个按钮控制着四个Activit

2017-07-28 09:03:29 323

原创 微信支付找不到sdk

就中午吃饭午休一会的功夫,然后继续打开Android Studio,发现项目编译不通过,找不到微信的sdk,顿时内心是狂躁的,Failed to resolve: com.tencent.mm.opensdk:wechat-sdk-android-without-mta:+ 先怀疑自己人生,想想上一步自己有没有添加什么代码,还是冲突了什么的,没有啊!艹。这就尴尬了啊,突然在一个安卓群

2017-07-20 14:34:09 1472

原创 二维码扫描

很多朋友没有做过二维码扫描方面的可能会觉得比较复杂,先定义就是不好下手,但是自己仔细写一下其实也好,毕竟网上类似二维码扫描的特别多,好人也很多。下面的我就来基于zbar集成的一个二维码扫描。首先就是扫面的布局的绘制,这里我就简单说明一下,里面就一个扫描的view,然后就加了一个闪光灯的按钮,点击可以打开闪光灯的,然后就是基本按钮了,我的二维码。这里可以点击去自己想去的页面,这里呢我就没有写了。

2017-07-19 13:56:24 404

原创 Android 支付宝支付

之前写了一个关于微信支付的博文,后来有人问我为什么不写上一个支付宝支付的呢。当初想的是支付宝支付比较简单,不像微信支付里面有很多坑,支付宝支付只是处理好异步回调就可以了,不过既然问到了,那我也写出来支付宝支付,同样还是比较简单,将东西都抽出来,方便调用。首先是OrderInfoUtil2_0这个基础类。后面调用的很多方法都抽出来了集成在这个类里面,就当这个是一个工具类吧。public cl

2017-07-17 17:13:36 1240

原创 Android 按下Home键

很多时候需要监听到手机home键按下,然后再当app打开的时候,这个时候需要触发一些事件,但是怎么去判断手机是home键按下后的结果呢?首先从Activity的生命周期来看,按下home键会走OnStop()这个生命周期方法,当然当唤醒的时候会走onResume()方法,但是在应用程序中有多个activity,如果在baseActiviyt里面来判断,那就肯定是不行的。那么就要运用到下面的方法了。

2017-07-12 13:46:48 1873

原创 handler+WeakReference简单优化Activity

我们可能知道安卓引用对象的四中类型:强引用、软引用、弱引用、虚引用。但很少有人真正去使用这些,甚至不太清楚这些在程序代码中的作用,下面我就来简单分享一下我在代码中使用的弱引用WeakReference.在程序中,我们用的比较多的就是handler机制了,但有没有想过handler给我们造成的严重的内存泄露问题?为什么这么说呢。Activity在被结束之后,MessageQueue并不会随之被结

2017-07-10 17:13:54 2048

原创 Retrofit+Okhttp+RxJava

很多朋友接手项目都开始带有Retrofit +Okhttp+RxJava搭建的网络请求框架,甚至有的还在尝试准备使用这个,接下来就来介绍一下这个网络请求框架的大致使用方法,和具体搭建方法。直接上代码,首先是BaseViewpublic interface BaseView1 { /** * 显示操作进度 */ public void showProgre

2017-07-06 15:31:32 572

原创 万能解析json

最近很多朋友问到我解析Json的问题,很多都是太复杂,解析起来很麻烦,但大部分都是使用工具进行解析,比如Gson之类的,但是这些有个问题就是要创建一个实体类bean,但是往往在很多开发过程中,后台返回数据是会随着迭代而改变的,这样创建的实体类bean可能也要改变,这里我就说说自己解析的一些心得。首先我并没有用到第三方的解析工具,而是单纯的使用系统提供的JsonObject和JsonArray。

2017-06-28 10:15:42 2313 2

原创 Android 分享邀请卡

对于分享,我们基本就是微信,QQ之类的分享,而且分享出去的都是html网页,对于很多地方需要用到分享一个卡片出去该怎么处理呢?卡片上的内容如果需要自己定义,自己编写内容又该怎么处理呢?首先,我用到的是友盟的分享,在发现他的文档里面有说明,描述的方式中有一种说的是可以分享一个bitmap,这对于Android而言是很好的消息,我们完全可以把一个layout转变成一个bitmap,然后通过友盟提供的方

2017-06-26 17:07:31 536

原创 微信支付集成

一个app里面肯定会有支付,而绝大多数会集成微信支付,当然也不是很难,我只是将我踩过的坑填补,然后提供比较好的工具出来,方便大家使用。GetPrepayIdTask getPrepayIdTask = new GetPrepayIdTask(this, price + "", "" + tuanbi_info, logid); getPrepay

2017-06-20 17:36:36 417

原创 ListView中嵌套ListView

开发过程中很多次都会遇到一个重大问题,设计中总是要listview中嵌套一个listview,但是很多基本的实现就直接在外层item中直接一个listview,这样就导致了listview在自身测量的时候无法测量到item的高度,这样并不会报错,只是显示不全,一般只能显示嵌套listview的第一个条目。然后很多人为此就放弃了,然后通过listview的属性addheader或者addFooter

2017-06-20 15:48:27 1987

原创 Android 视频录制

想到视频录制,肯定又是运用MediaRecorder,这个类实在是方便,但是好用的东西一定要慎重,毕竟没有那么便宜的事,但是基本满足用户要求,但是对于比较苛刻的项目而言,那就很尴尬了,比如:拍摄的视频不聚焦,拍摄像素低,甚至在有些手机上面根本无法进行拍摄录制,这就导致无法很好的使用了。不过我还是提供出工具类。希望高手能修改,并完美运行。import android.annotation.Sup

2017-06-20 14:19:29 1376 1

原创 Android 录音MediaRecorder到AudioRecord

研究录音是源于即时通讯的项目。写出一个即时通讯很简单,但是写好一个即时通讯就不是一件容易的事,比如聊天中语音的加入。接下来就来描述一下自己对语音的见解和处理方式。首先写到语音,当然首当其冲的是运用到网上百分之八九十的处理方案MediaRecorder,这个也是我首先用到的方式,主要是由于以前写过接入环信的项目,它里面所提供的就是MediaRecor

2017-06-18 16:12:48 3808

原创 基于ViewPager的相册查看器

对于很多应用而言,一个少不了的功能就是相册的查看,但是有没有一个封装好了的相册处理页面呢?接下来就来介绍我的相册查看器。基于ViewPager的实现,是一个单独的Activity,只需传入存放图片的集合就行,这里通过intent的传递数据:pictureUrls = (ArrayList) b.getSerializable("info");然后就是照片的位置,默认是第零个位置:current

2017-02-06 11:00:57 704 1

原创 万能的webView之Activity

对于使用webview加载一个网页,使用它的loadurl()方法即可,如果在程序内要打开网页,难么就要自己创建一个WebViewClient,通过setWebViewClient进行关联,再如果网页里面有javaScript那就要设置了//启用支持javascriptWebSettings settings = webView.getSettings();settings.setJa

2017-02-05 09:34:28 3657

原创 Toast的自定义

写完dialog的自定义现在开始写写toast了,其实对于toast的讲解网上也有很多,并且很容易。先说说为什么要写Toast的自定义吧,对于一个页面的Toast的点击,不断的让它弹出Toast,会导致app的卡顿,还有当你退出app的时候它还在那弹出toast,并不是所有人都向开发者一样那么规规矩矩的操作,会有各种一些列想不到的操作,就比如狂点。还有一点就是Android端和IOS端的统一,不知

2017-02-04 10:33:00 342

原创 自定义的dialog

在网上搜索dialog,AlertDialog:警告对话框,使用最广泛功能最丰富的一个对话框。ProgressDialog:进度条对话框,只是对进度条进行了简单的封装。DatePickerDialog:日期对话框。TimePickerDialog:时间对话框。大概也就这些类型的dialog,往往是满足不了我们的需求的,而且在美观上面也是难以达到UI的需求,因此我就想到了自己定义一个dial

2017-02-04 10:09:23 305

原创 React Native个人见解。

研究了一下facebook的React Native,感觉就是各种坑,创建新项目还好,就怕是添加到原项目中,那就是个坑,其实主要原因是在Android方面还不是太成熟,今天就来大概描述下React Native,希望有点用,个人建议不要按照官方的来,很多坑的,会让你回不了头的。首先就是开始前的环境配置,我也就不去复制别人的了,直接来链接吧http://www.cnblogs.com/commo

2017-01-20 14:56:38 345

原创 横向的GridView

对于横向的GridView,很多人会说,没必要,用RecycleView就可以完成,但是,我就喜欢搞点特别的,因此当初就写了个横向的GridView。网上的东西大部分都有很多其它的东西,比如你要找一个功能,它会给你十个,然后你要去改,还不如自己写出来。。我的原则就是一切以简单为主。主要代码:DisplayMetrics dm =new DisplayMetrics();getWin

2017-01-20 11:48:59 1004

MatchDemo.zip

仿配对消除小游戏,recyclerview自动布局,根据item数量自动变更。相同配对消除,不动error还原。

2020-08-26

RvCalendar2.zip

RecyclerView样式的日历选择器

2020-07-30

PasswordEditText.zip

表格类型的密码输入框

2020-07-29

DrawTest.zip

Android 实现的简单画板功能,包括撤回,反着撤回,橡皮擦,钢笔模式,颜色选择等操作,直接下载安装打开就可以运行只用,方便灵活。

2020-07-02

IrregularityClick.zip

接着上一条,对于找茬里面更高的要求就是一张大图中不规则图形的点击处理,需要获取点击区域,然后点击对这个不规则区域进行处理,如变色等操作,还能知到点击的是哪个不规则区域。

2020-06-29

FindErrorTest.zip

作为Android应用层程序员,比较讨厌的就是让实现游戏里的部分功能,一般程序员都会认为这个需要专门的游戏开发才能实现,或者需要专门的动效开发人员才能实现。下面就来看看仿照“大家来找茬”这个的简单实现方法吧。

2020-06-29

FireworkTest.zip

越来越多的地方都会用到烟花效果了,而且很多游戏都会有类似通关之后的爆炸特效,今天来分享一下烟花爆炸的动效。升空的动画就不用写了,主要就写个view的位移,重点就是四散开来的爆炸。

2020-06-20

FlyStarTest.zip

类似彩带快速飞行的动效,主要可以作用于飞入购物车动效。飞机飞行尾气跟随动效等。主要灵感来自于很多小游戏里的点击飞行特效

2020-06-18

DragViewTest.zip

主要处理是拖动图片到另外一个位置来替换图片的操作。通过获取目标控件和被拖动控件位置,监听ontouch方法来处理

2020-06-17

cardfragment轮播.zip

https://mp.csdn.net/postedit/100162578 相关描述信息在这里

2019-08-30

文件转换器.zip

支持PDF、Word、PPT、Excel、图片、TXT、HTML文件的批量互转,新增PDF合并、压缩、拆分、页面提取功能。一键免费转,再也不用花钱到处找了

2019-08-07

密码输入框

Android密码输入框,Edittext的自定义,密文和明文显示。

2017-11-06

SuperGridLayout

仿微信朋友圈图片展示,不同张数图片显示不一样

2017-07-31

Android四大存储

Files Net SharePreference Sqlite 四大存储集合体

2017-07-28

新搭建项目框架

新建项目,运用Tab搭建,底部导航

2017-07-27

二维码扫描

基于zbar的二维码扫描,集成简单,使用便捷,扫描清晰

2017-07-19

横向GridView

横向GridView

2017-01-20

空空如也

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

TA关注的人

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