java
李易-_-
心有猛虎,细嗅蔷薇
展开
-
十大经典排序算法
public class SortUtils { /** * 冒泡排序 * 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 * 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。 * 针对所有的元素重复以上的步骤,除了最后一个。 * 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。 */ public int[] bubbleSort(int[] arr.原创 2021-08-18 18:07:54 · 151 阅读 · 0 评论 -
Android 仿卡片消消除
最近产品看到一个儿童趣味匹配游戏,叫**match,然后就叫客户端直接实现,然后新增到APP里的一个小模块里,看到这个也挺有意思的,就记录下来,下面先看看效果图吧:原创 2020-08-27 10:39:12 · 1698 阅读 · 0 评论 -
RecyclerView样式的日历选择器
看到携程,飞猪上面的日历选择,比如飞机票选择里的日历,这里就会是列表形式的日历选择,这上面会有还会展示价格,折扣之类的东西。但是这个有个缺点,就是固定了从哪一天到哪一天,而且是对于未来某段时间的展示,如果要展示之前的呢,要无限加载呢?下面就来看看我所实现的效果吧:实现效果就是这样,无限下拉加载更多日历,然后每个日期的的item也是可以自定义,加上点加上背景,字体设置都是可以的。<?xml version="1.0" encoding="utf-8"?><Rel...原创 2020-07-30 14:59:30 · 1264 阅读 · 0 评论 -
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 · 2130 阅读 · 0 评论 -
Android 画板功能实现
Android一般实现一个画板功能,都能想到去坚定ontouch方法,然后通过这个方法返回的按下,移动,抬起,的回调监听,不断的更改在屏幕上的X,Y值,然后通过paint在canvas上不断的绘制,然后剩下的就是调整抗锯齿,画笔的平滑度等操作。 没错,大概思路也是如此,所以这篇文章也只是针对当前通用的画板进行细节处理和描述。首先看一下ontouch方法吧,这个方法主要的也是分发的功能。 @Override public boolean onTouchEvent(Motion...原创 2020-07-02 09:33:17 · 906 阅读 · 0 评论 -
图片中不规则区域的点击
接着上一条,对于找茬里面更高的要求就是一张大图中不规则图形的点击处理,需要获取点击区域,然后点击对这个不规则区域进行处理,如变色等操作,还能知到点击的是哪个不规则区域。先看效果图:这个先要一个xml,这个xml里面就是各个不同区域的描点数据。先看看这个数据怎么获取吧,需要工具:Adobe Dreamweaver 。下面的演示操作使用的是Adobe Dreamweaver CC 2018.第一步:第二步点击插入一个Image,第三步:这里要选择设计,然后再回到拆分...原创 2020-06-29 16:23:20 · 5730 阅读 · 0 评论 -
仿大家来找茬
作为Android应用层程序员,比较讨厌的就是让实现游戏里的部分功能,一般程序员都会认为这个需要专门的游戏开发才能实现,或者需要专门的动效开发人员才能实现。下面就来看看仿照“大家来找茬”这个的简单实现方法吧。先看看效果图:这里要描述里面bean使用到的widthScale和heightScale这两个怎么计算的,取值范围在0-1之间。WindowManager manager = getWindowManager(); DisplayMetrics outM...原创 2020-06-29 11:39:42 · 2122 阅读 · 1 评论 -
烟花爆炸动效
越来越多的地方都会用到烟花效果了,而且很多游戏都会有类似通关之后的爆炸特效,今天来分享一下烟花爆炸的动效。升空的动画就不用写了,主要就写个view的位移,重点就是四散开来的爆炸。下面见见效果:下面就来看如何处理的吧,将烟花爆炸的火花转变为bitmap,然后根据这个火花的个数,创建出多个bitmap,给每一个bitmap一个随机的角度,为后面的四散做准备: private void init() { Random random = new Random(System.cu...原创 2020-06-20 17:24:23 · 3050 阅读 · 0 评论 -
流星飞行 火箭尾气动效
这个主要想分享一下,类似彩带快速飞行的动效,主要可以作用于飞入购物车动效。飞机飞行尾气跟随动效等。主要灵感来自于很多小游戏里的点击飞行特效。先看看效果:先看看尾部不停的闪耀和不停地产生新的star开始,原理就是给定一个角度,然后随机生成偏移量。在给定角度内,不停的使用Paint画出bitmap,然后不停的随机计算位置,然后再给上透明度的变化就可以了。 private void init() { // 0~360 float direction;原创 2020-06-18 11:09:39 · 576 阅读 · 0 评论 -
可拖拽控件
长时间没有更新blog了,由于最近所做的项目涉及比较多的用户界面操作,现在抽空更新一波。这个blog主要处理是拖动图片到另外一个位置来替换图片的操作。如果位置不正确就会回弹回去。先看看效果图:收到这个需求的时候第一想法是监听手指在屏幕中的操作,来实时获取手指所在屏幕的坐标,进行实时更新被拖动图的位置,但这种做法就会影响到页面中其它按钮的点击事件了。如果处理点击冲突事件,就记录被拖动图的区域再处理ontouch方法,这样就需要计算的成本很大了。另外一种想法是,直接监听被拖动图的触摸事...原创 2020-06-17 11:51:42 · 1526 阅读 · 0 评论 -
事件分发机制
面试被问到最多的,记录一下,先来看看使用流程图绘制的图形吧。上图就是完整的事件分发机制的流程图,如果对这块曾经了解过,由于时间过长而忘记的,看一下应该就明白了,如果对这块不了解,下面也用文字方式描述一下,方便记忆。 当点击的时候会先调用顶级的ViewGroupde的 dispatchTouchEvent,如果顶级的ViewGroup拦截了此事件(onInterceptTouch...原创 2019-10-09 15:54:19 · 365 阅读 · 0 评论