- 博客(34)
- 资源 (19)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 是男人就下100层(简仿)
进来,事情不多,闲暇之时,就想写个简单的游戏练练手。太复杂了,不使用游戏引擎来做,是非常困难的。这里,其实也没有打算说,开发一款游戏上线,就是练习自定义控件
2016-03-08 13:52:23
7200
13
原创 Intent浅析
这篇文章主要内容有一下几方面:Intent的简要; Intent的分类; Intent字段; Intent的隐式匹配规则;Intent的简要Intent是一个消息传递的对象,是组件之间沟通的重要载体。Intent主要有这几个用法。 启动Activity。通过调用startActivity方法,Intent启动一个Activity。Intent可以携带数据,把当前页面的数据传...
2018-09-20 17:36:13
881
原创 Activity启动模式
Activity有四种启动模式,分别为standard、singleTop、SingleTask、singleInstance。使用方式我们在AndroidManifest.xml中的Activity标签下,添加属性android:launchMode=“singleTop”即可使用。 <activity android:name=".main.Main...
2018-09-19 17:00:28
208
原创 Activity生命周期
Activity生命周期从表面看很简单。就是下面随处可见这张图,但是要深入理解Activity很不容易。实际上这些都是Activity中暴露出来的回调,供开发者快速开发使用,这些回调统称为Activity生命周期。熟悉Activity生命周期很重要,理解Activity的生命周期是开发良好程序的前提。Activity启动从onCreate()开始,onDestory()...
2018-09-19 15:49:20
265
原创 Lambda(语法+使用)
Lambda语法特性可选类型声明:不需要声明参数类型,编译器可以统一识别参数值。可选的参数圆括号:一个参数无需定义圆括号,但多个参数需要定义圆括号。可选的大括号:如果主体包含了一个语句,就不需要使用大括号。可选的返回关键字:如果主体只有一个表达式返回值则编译器会自动返回值,大括号需要指定明表达式返回了一个数值。以上就是Lambda的语法,比较简单。针对Lambda语法,我们能够替代使用的都是函数式...
2018-04-09 23:14:29
6386
1
原创 android6.0动态权限申请
android6.0之前,所有的权限都要求同意之后,app才能被安装。6.0之后,动态权限申请很好的处理了之前的强制行为,对用户更加的友好。新的权限机制,将权限分为两大类,一种普通权限,一种为危险权限。普通权限,在manifest中申请后,无需再主动申请;危险权限,除了在manifest中申请,还需要主动调用API进行动态申请。如果你未在manifest中写明危险权限,即时通过API进行主动申...
2018-03-20 20:44:46
295
原创 运算符优先级
口诀:单目与强转,乘除模加减。位移比大小,等价与异或。逻辑是与或,三目后赋值。优先级运算符结合性1() [] .从左到右2! +(正) -(负) ~ ++ --从右向左3* / %从左向右4
2016-11-02 20:54:59
602
原创 Android Handler机制
Android Handler消息机制,在Android中扮演了很重要的角色。通过Android Handler,能够实现延迟处理、子线程更新主线程界面等功能。(Android更新UI,一定需要在主线程中,这个规定的原因是,多个线程同时更新UI会造成UI界面更新混乱,不利于管理,因此,程序在初始化时,主线程中就初始化了UIHandler)。 Handler机制主要涉及到几个类: -
2016-08-24 15:10:28
620
1
原创 动画总结分析
动画的分类1.帧动画 2.补间动画 3.属性动画 帧动画:继承结构:–drawable –DrawableContainer –AnimationDrawable 可见:AnimationDrawable是继承的drawable。用法:在drawable目录下定义一个XML动画文件,根节点为animation-list,中间节点为item(item设置好图
2016-08-16 13:56:24
799
原创 Android事件分发机制
Android的事件分发机制,对于事件的分发的了解是非常重要的;如果你不清楚具体的原理,那么你将会很迷茫,遇到问题时,无从下手。这里,我将个人对Android事件分发机制的理解,描述出来,希望能对大多数伙伴的有所裨益。触摸事件的开始 触摸事件,来自触摸屏。从触摸屏硬件产生事件信号到Activity开始接收这个事件,就不做分析了,因为具体的我也不清楚。因此,这里主要...
2016-07-05 17:27:24
2577
原创 联系人列表字母排序索引(三)
也是忙忙碌碌好几天,今天又有时间了,继续这个文章的编写。今天是这篇文章的最后一部分。主要内容包括以下几点:1.将中文名字转化成拼音,并提取首字母,进行排序。2.实现分组列表Adapter模板。3.将列表与索引结合在一起。pinyin4j是一个将中文转化成拼音的高效工具,我的源码中带了这个依赖包。通过这个工具,可以先获取一个中文的拼音。 public static
2016-06-06 11:34:07
5499
原创 联系人列表字母排序索引(二)
上一篇讲到自定义View,右边字母索引,如果还没看第一篇文章的,请先看联系人列表字母排序索引(一)。今天这里讲如何展示悬浮窗并显示对应的字母。首先,我们需要一个悬浮窗,然后将悬浮窗和字母索引链接起来。1.悬浮窗的实现。要实现一个悬浮窗口,我们需要通过WindowManger来实现,这个使用是比较简单的。新建一个类,LetterWindow.class 这个类需要完成的功能是,显示窗
2016-06-03 16:13:58
1104
原创 联系人列表字母排序索引(一)
很久没有写博客了,对自己又放松了很多。这篇博客本来早就要写了,迟迟拖到现在。今天这里要说的是,联系人列表,分组带索引,即联系人按字母顺序排列并分组,右边还有索引条。先看下效果:就是这么一个效果,想必大家都想知道是怎么实现的吧。其实很简单,接下来我会慢慢讲解这个效果的实现。首先我们分析这个联系人列表的组成:1.联系人列表 ----- ListView2.右边索
2016-05-31 13:57:01
4584
1
原创 线程池ThreadPoolExecutor分析
线程池,线程池是什么,说到底,线程池是处理多线程的一种形式,管理线程的创建,任务的执行,避免了无限创建新的线程带来的资源消耗,能够提高应用的性能。很多相关操作都是离不开的线程池的,比如android应用中网络请求的封装。这篇博客要解决的两个问题是:1.线程池的工作原理及过程。2.常用的四种线程池。要分析线程池的工作原理及过程,还是要从它的源码实现入手,首先是线程是构造方法,何谓
2016-03-31 23:19:57
1392
原创 RecyclerView下拉刷新和加载更多
之前一直写的是ListVIew下拉刷新,但是好多朋友都说要RecycleView的下拉刷新和滑动加载,其实,这个原理都是差不多。抽空,我就写了下RecycleView的下拉刷新和滑动加载更多。因此,这才写到博客里,记录一下。 在大家阅读这篇博客前,大家需要了解的知识:1.Scroller。实现弹性滑动的类,这个是经常用到的,不懂的请自觉先学习Scroller的知识
2016-03-14 16:36:36
4913
5
原创 滑动关闭页面(完善动画)
在滑动关闭Activity中,我发现动画不能完好的使用,主要是在主题中,屏蔽了动画效果。我再重新把动画效果进行了完善,代码中借鉴了SwipeBackLayout-master的思路,动态修改主题。我在原来的代码中,做了稍微的修改,动态设置主题。修复了动画设置效果。下面重新把代码贴上。附:源码
2016-03-09 16:06:26
994
原创 滑动关闭Activity
常常可以看到,很多Android应用都有这么一个功能,就是滑动关闭Activity,比如微信,CSDN移动端,百度贴吧移动端等。我自己也想写个滑动关闭Activity,最近事件没有那么多,我就google了一下,查看了一下实现滑动关闭Activity的实现方法,其中,有个思路,我觉得很不错,因此,在这里,我通过别人的思路,自己实现了一下滑动关闭Activity的方法,在此记录一下。我希望这篇博客,
2016-02-29 11:56:29
6754
4
原创 Android 绘制圆形图片
经常在项目中,会遇到使用圆形头像。然而图片往往不是圆形的,我们需要对图片进行处理,以达到圆形图片的效果。这里,我总结了一下常用的android圆形图片的绘制的方法。主要有以下几种方式:1.画布裁剪;2.Xfermode进行重叠;3使用着色器shader。下面我们将一个一个进行描述: 第一种,画布裁剪:通过创建空白的Bitmap生成canvas画布,然后将画布进行裁剪成圆形,最后在画布上进
2016-02-17 12:37:59
1125
原创 可自动换行的单选 RadioGroupEx
今天要说的,并不是很复杂的,但确是很常见的。下面这个图,就是今天的主角(可换行的RadioGroup): 可换行的单选效果,在大多网购的app中选择物品可以看到。有时
2016-01-20 20:48:09
7702
5
原创 ListView下拉刷新
不知为何,一直对ListView的下拉刷新情有独钟。或许是在项目开发过程中,使用的频率太多了吧。ListView下拉刷新,和自动加载更多,对于大多数人来说,是一个头疼的问题。很多时候,我们都选择使用框架去实现下拉刷新,加载更多,无奈,很多框架很难修改成自己所需要的效果。如果这时候,自己有一个自己的下拉刷新框架,该有多好!我也曾使用过很多的下拉刷新框架,经过自己对这些框架的使用经历,我发现该如何做一
2016-01-08 23:47:28
1666
4
原创 File类讲解
File类代表的是一个文件或者是一个目录的路径名称。常常会有错误的理解:File类是文件。其实不然,看File的文档注释(An abstract representation of file and directory pathnames.),File类是文件和目录路径名称的表示。通过File类,我们可以定位到File类对应的文件或目录;因此也有人说File代表的是文件和目录,但我认为,文档注释英
2015-12-13 15:41:02
757
原创 WebView解析之设置
WebView是用来展示网页的,使得网页能在Activity中显示。WebView是基于WebKit的,因此包含了前进,后退,历史,放大,缩小等功能。我们在使用WebView的过程中,常用的是哪些设置呢? 1.防跳转到外部浏览器设置 2.进度条等控制 3.JS注入 4.离线缓存 首先,我们先来了解两个方法,se
2015-11-05 10:27:34
579
原创 WebView解析之适配
对于android WebView 适配网页,有两个最基本的因素需要考虑。1.viewport配置和当前页面的尺寸。2.设备像素。通过在Web页面,配置viewport,可以设置web的宽高,缩放比例,是否可缩放。 viewport是定义在Web页面的,如下所示 Example viewport决定了当前Web页面所能绘
2015-10-30 11:25:14
635
原创 addView(View,index) 用法
这里主要说明一下addView 的index的意义1.index表示的是,将View添加到index指定的这个View的下面。2.index在布局的层级结构中,首先父布局 index =0,父布局的第一个字布局index=1,一次类推。3.index=-1表示将参数View添加到容器的最底部。 Linear layout index=0TextView
2015-08-11 11:27:16
10946
原创 仿QQ长按弹出功能菜单
android app普遍常用的弹出上下文菜单是列表式的。QQ列表,在上方弹出冒泡效果菜单,如图这里讲解一下如何写出这个效果:图片资源:两张图片,可以拼接成如上效果。首先,我们需要写布局文件: layout_pop.xml (mipmap是android studio 的引用图片的写法,以前常用@drawable/xxx)<?xml version="1.0" encoding="utf-8
2015-07-08 15:44:44
5528
原创 Framework启动过程
了解android的都知道,android系统是建立在linux内核以上,添加了硬件抽象层(保护厂商的利益,保密各种硬件参数),然后搭建了android Framework,android应用就运行在最顶端。在这里,简要记录自己对Framework启动过程的理解。 首先系统在启动linux内核后,开始启动Framework层。Framework层,是从什么开始启动的呢?linux启动结
2015-05-04 22:43:56
670
原创 图片极致压缩,不失真
在各种项目中,都难免遇到图片的上传和下载,然而,图片的上传,需要压缩后再上传才是明智之举;然后,压缩图片可能会导致图片的失真等等问题,在这里,我将在工作中使用的比较好的图片压缩方法,分享给大家。
2015-04-24 12:49:53
2143
原创 ListView无数据,显示点击加载等友好界面
listView在未加载出数据时,会显示很大的空白,这显示就不友好,因为从交互上来说,用户不知道这到底怎么回事。所以,这里针对这个问题作出较好的解决方法。我们从美团等做的较好的APP上可以看到动画小人在跑的效果。那这个是怎么做的呢?我不会从最基本说起,我只谈关键的地方,起点睛之意。初学者很多都没注意到ListView有个方法:setEmptyVIew(View view),这个方法的作用,简单
2015-04-19 11:17:53
1195
原创 图片压缩算法,保证图片不失真
在各种项目中,都难免遇到图片的上传和下载,然而,图片的上传,需要压缩后再上传才是明智之举;然后,压缩图片可能会导致图片的失真等等问题,在这里,我将在工作中使用的比较好的图片压缩方法,分享给大家。//此处的path为文件的绝对路径 public static Bitmap revitionImage(String path) throws IOException { //通过路径获取文件流
2015-04-18 14:08:06
2654
原创 自定义View(一) 之View的理解
讲述一下android自定义控件的方法,同时也为自己做些记录和笔记。做过android的都知道,自定义android控件无外乎三种方法:继承view,重写view的方法,使用画笔画图。 继承现有的控件,直接拥有该控件的方法,自定义该控件的布局,拓展控件的功能。 复合控件,将多个控件编写成一个符合控件,在使用时能够很方便的复用。在此之前,无论是哪一种方法,其实都是对...
2014-07-14 19:17:16
591
原创 我的Android之路
人生是个不断奋斗的过程,生命不止,运动不息,奋斗不止,勇攀高峰。即将走入社会这个大家庭,面对着社会精英,给予我很大的压力。我迷茫,我沉着,我思考,不同寻常的人生,需要不断的去埋下伏笔,做下铺垫。我放弃高的待遇,去寻找有意义的团队,能够让自己在这个行业,走的越来越远。 选择有时真的是太多了,我们很多时候也不知道如何去选择,也没发去分辨哪个选择是好哪个选择是坏。不一定现在的就是最好的
2014-03-29 12:46:47
488
android 自定义控件 游戏
2016-03-08
android游戏是男人就下100层
2016-03-08
fragment tabhost 精美底部导航栏源代码
2014-06-20
Java编程思想第四版高清完整
2013-10-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人