Android 玩转PathMeasure之自定义支付结果动画 概述最近在研究Android的路径动画,恕我直言,PathMeasure是个神器,可以帮助我们绘制任意的路径,只要你能draw出来的Path,它都能绘制出来,你可能会问,既然drawPath都可以了,要它何用? PathMeasure的强大之处在于它能够通过根据起点和终点截取某一段路径进行绘制,可以理解为对Path片段的绘制,然你可能还是会说:但如果再结合属性动画,那简直就可以为...
Android 自定义带入场动画的弧形百分比进度条 前言日常开发经常会有遇到使用进度条的地方,有些场景会需要使用圆形百分比进度条来更优雅地表示当前的进度,并赋予一些入场动画,使得页面更有活力(比如一些运动App,表示能量的进度条,消耗卡路里的进度条等等),给用户一种不断累积的视觉感。效果特性1.设置圆弧半径2.背景圆弧的粗细3.进度圆弧的粗细4.设置进度颜色5.中心文字大小 颜色 内容...
Android疑难杂症大汇总 此文专门记载本人在开发过程中遇到的一些印象比较深刻的问题,以及踩过的一些坑,包括Gradle以及AndroidStudio都有,会一直持续更新~目录Android5.0以下(Android4.x)出现NoClassDefFoundError 运行项目时报错Error: Activity class {} does not exist.Error while Launching activ...
Android版本适配姿势之Android6.0 前言写这一系列的文章是因为刚好最近有个项目的targetversion需要升级到26,而在这之前是21,所以需要一下子适配6.0,7.0,8.0,顺便汇总一波需要注意的一些点,由于篇幅较长,因此分为3部分 概述本文主要是针对Android6.0需要适配的一些方法和注意事项,在Android6.0之前,我们在AndroidMainfest.xml里面声明的权限,都是在用户安装的时候就...
ViewPager封装轮播效果+指示器 实现一行代码展示轮播图 前言平时应用开发中首页经常会有一个Banner轮播的展示,不可避免的需要封装一个自定义View,在使用的时候能够方便的只用一句代码设置图片地址集合,就可以启动轮播效果,本文将通过ViewPager一步步对轮播图进行实现,最终效果如下:源码传送门:https://github.com/GitHubZJY/ZJYWidget里面还有很多实用的自定义View源码及demo,互相学习,互相进...
Android自定义View之数字密码锁 距上次写博客已经快一年了,计划赶不上变化,种种原因加上自己的拖延症= =、 之前想好的每月一文还是没能坚持下来,趁着闲暇之余撸一篇,希望之后能够继续坚持总结的习惯。最近项目上用到一个密码加锁功能,需要一个数字密码界面,就想着封装成一个View来方便管理和使用。废话不多说,先上最终效果图:思路整体可分为2个部分来实现,1.顶部是4个密码位的填充;2.数字键盘部分。整体
Java字符串类型String、StringBuilder、StringBuffer的区别 Java中关于字符串的类型主要有三种:String、StringBuilder、StringBuffer从可变与不可变的层面上讲:String是字符串常量StringBuilder和StringBuffer是字符串变量举个例子,如下代码片段:String s = “ab”;s = s + “cd”;这里表明上看是对字符串s重新赋了一个值
Android自定义彩色织带分割线 前言最近开发的一个产品需要涉及到订单,订单页涉及到了一个UI元素,类似饿了么的订单页以及支付宝口碑外卖订单页的彩带(通俗点讲就是一条两种颜色相间而成的分割线): 可以看到,风格基本都是以两种颜色为主相间拼接,至于长度则完全由屏幕宽度来决定,因此如果想要通过设计成图片素材来作为ImageView的背景的方式实现的话,效果并不理想,因为图
Android百度地图开发之旅(一) 环境配置 前言现在的APP很多都会带有定位需求,本篇系列主要记录如何将百度地图SDK集成到项目中去,想要实现百度地图提供的功能,需要在百度地图官网注册开发者账号并且创建你的应用,获得所需要的key,将key填写到工程中并且导入相应的SDK文件,实现我们想要的定位功能。环境配置1.创建应用先进入到官网的API控制台,点击创建应用创建应
图文讲解QuickSort快速排序算法(Java版) 什么是快速排序?快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。算法原理单单看以上解释还是有些模糊,可以通过实例来理解它,下面通过一组数据来进行
Android如何一步步实现状态栏一体化效果 前言我们经常可以在App中看到这样一种效果: 可以看到,状态栏与App自身的标题栏融合在了一块,相比于原生黑色的状态栏,给用户的整体视觉效果更佳,那么如何实现Android状态栏一体化效果?实现在你所要实现沉浸的页面的Activity中添加如下代码://判断当前设备版本号是否为4.4以上,如果是,则通过调用se
Android开发中ListView与EditText的冲突汇总 在Android开发中,有时候会遇到ListView中嵌套了一些EditText的情况,这个时候很容易发生一些冲突问题,解决方案列举如下。点击EditText弹出软键盘导致EditText焦点丢失和文本重置问题问题描述:点击EditText,弹出软键盘,会导致ListView调用getView()重绘,从而导致本来应该在EditText上的焦点被刷新而消失了,从而在软键
Android打造通用标题栏——让你的App统一标题栏风格 前言在Android应用实际开发中,标题栏是App必不可少的元素之一(当然,不包括游戏),大部分情况下,系统提供的标题栏并不能完全满足我们的需求,就需要手动去编写标题栏布局,那么问题来了,如果是在Activity或者Fragment布局文件里面编写标题栏,那岂不是每一个页面的布局文件都要增加不少的代码,如果想更改一下整个app的标题栏的风格...(十脸蒙蔽),甚至有时候还会可能一个不留神写错了
Android图像滤镜框架GPUImage从配置到应用 GPUImage简介GPUImage 是iOS下一个开源的基于GPU的图像处理库,提供各种各样的图像处理滤镜,并且支持照相机和摄像机的实时滤镜。GPUImage for Android是它在Android下的实现,同样也是开源的。其中提供了几十多种常见的图片滤镜API,且其机制是基于GPU渲染,处理速度相应也比较快,是一个不错的图片实时处理框架。GitHub地址:https:...
Android教你如何一步步打造通用适配器 前言在Android开发中ListView是最为常用的控件之一,基本每个应用都会涉及到它,要使用ListView列表展示,就不可避免地涉及到另外一个东西——Adapter,我们都知道,Adapter是连接数据和列表界面的一个桥梁,一般项目中一个listview就会有一个Adapter与之对应,然后就是一堆方法的重写,包括getCount,getItem,getView等等,遇到自定义布局时还需
HashMap与TreeMap的应用与区别 Java中有许多封装好的数据结构类,比如List,ArrayList,Set,Map,Collection等,它们各自有各自的特点,其中,Map是属于键值对的集合,它提供key到value的映射,能够通过键来找到相应的值。一个Map中不能包含相同的key,每个key只能映射一个 value。本文主要针对其中两种经典常用的Map集合HashMap&TreeMapHashMap的使用: