关闭

[置顶] Android自定义控件之仿京东商城下拉刷新

前面写了4篇自定义控件的博客,并且开通了一个专栏,把4篇文章添加到专栏中了,耐心等待博客专栏的徽章出现,奈何等了几周后还是没有出现,后来发现至少需要5篇文章才能出现专栏徽章,于是有了这篇仿我大京东快递小哥的下拉刷新。 直接上图先! 分析这个下拉刷新效果分为两个部分: step1:快递小哥和快递包裹的缩放效果,看上去就像是快递小哥跑过来一手拿过快递的样子 step2:快递小哥拿到包裹后,开启暴...
阅读(8703) 评论(20)

[置顶] Android自定义控件之仿汽车之家下拉刷新

关于下拉刷新的实现原理我在上篇文章Android自定义控件之仿美团下拉刷新中已经详细介绍过了,这篇文章主要介绍表盘的动画实现原理 汽车之家的下拉刷新分为三个状态: 第一个状态为下拉刷新状态(pull to refresh),在这个状态下是一个表盘随着下拉的距离动态改变指针的角度 第二个状态为放开刷新状态(release to refresh),在这个状态下是指针角度变化的一个动画 第...
阅读(8396) 评论(13)

[置顶] Android自定义控件之仿美团下拉刷新

美团的下拉刷新分为三个状态: 第一个状态为下拉刷新状态(pull to refresh),在这个状态下是一个绿色的椭圆随着下拉的距离动态改变其大小。 第二个部分为放开刷新状态(release to refresh),在这个状态下是一个帧动画,效果为从躺着变为站起来的动画。 第三个部分为刷新状态(refreshing),在这个状态下也是一个帧动画,是摇头的动画。其中第二和第三个状态很简单,就是两...
阅读(11296) 评论(15)

[置顶] Android自定义控件之动态柱状图

设计思路:1.画柱状图 2.画竖线 3.画顶部横线 4.画文字1.画柱状图画柱状图的方法很简单,就是使用canvas.drawRect(float left, float top, float right, float bottom, Paint paint),其实这里我遇到了一个问题,一开始我想只画一条柱状图,然后需要几个柱状图就在xml文件中声明几个,后来我发现,这样实现起来的动画非常之卡...
阅读(6512) 评论(5)

[置顶] Android自定义控件之百分比圆环进度条

首先我们先来看一下效果 分析我们来看这个进度条应该分为3个小部分 1.中间的圆 2.外边的圆环 3.中间的文字分开画这3部分就是需要我们自己画出来的,因此我们需要3根画笔//设置中心园的画笔 mCirclePaint = new Paint(); mCirclePaint.setAntiAlias(true); mCir...
阅读(7445) 评论(15)

[置顶] Android自己动手打造XML解析框架

我们在工作中,经常会从服务器获取数据并进行解析,服务器返回的数据有两种:json和xml。json我们可以用gson或者fastjson等优秀的开源框架去进行解析,省去不少麻烦,通常我们只需要把bean设计出来,然后调用一句话就可以解析成功了。而解析xml数据,我们得去一个标签一个标签的去比较,修改起来也非常麻烦,比如我们现在不需要某一个标签上的数据了,我们还得去把代码中那一行给删除,如果我们的需...
阅读(9767) 评论(9)

How to elicit requirements for an innovative product?

You shall think through the following topics, and select one or more to discuss your views on how to do it, and the advantages and potential limitations of your proposal.How to elicit requirements for...
阅读(283) 评论(1)

SLR-智能交通道路最优化分配

Research Paper Title 智能交通道路最优化分配 Database CSCD Journal/Conference Name 城市规划 Keywords used for retrieving 智能交通、多智能体、协调控制、城市交通控制 Background/Introduction1 paragraph introducing and motivating...
阅读(1133) 评论(1)

KAOS-智能交通系统软件需求说明书

1 介绍智能交通系统(Intelligent Traffic Systems, ITS)的前身是智能车辆道路系统(Intelligent Vehicle Highway System, IVHS)。智能交通系统将先进的信息技术、数据通信技术、传感器技术、电子控制技术以及计算机技术等有效地综合运用于整个交通运输管理体系,从而建立起一种大范围内、全方位发挥作用的,实时、准确、高效的综合运输和管理系统。1...
阅读(609) 评论(0)

Android自定义ViewGroup打造各种风格的SlidingMenu

刚刚学习了鸿洋大大的QQ5.0侧滑菜单的视频课程,鸿洋大大用的是HorizontalScrollView来实现的侧滑菜单功能,HorizontalScrollView的好处是为我们解决了滑动功能,处理了滑动冲突问题,让我们使用起来非常方便,但是滑动和冲突处理都是android中的难点,是我们应该掌握的知识点,掌握了这些,我们可以不依赖于系统的API,随心所欲打造我们想要的效果,因此这篇文章我将直接...
阅读(8417) 评论(35)

Android多点触控技术,实现对图片的放大缩小平移,惯性滑动等功能

首先推荐一下鸿洋大大的打造个性的图片预览与多点触控视频教程,这套教程教我们一步一步实现了多点触控实现对图片的平移和缩放的功能,这篇文章我将在鸿洋大大的基础之上做了一些扩展功能: 1.图片的惯性滑动 2.图片缩放小于正常比例时,松手会自动回弹成正常比例 3.图片缩放大于最大比例时,松手会自动回弹成最大比例实现图片的缩放,平移,双击缩放等基本功能的代码如下,每一行代码我都做了详细的注释public...
阅读(6084) 评论(28)

Android一步一步带你实现RecyclerView的拖拽和侧滑删除功能

先上效果图: 本篇文章我们来学习一个开源项目Android-ItemTouchHelper-Demo 这个项目使用了RecyclerView的ItemTouchHelper类实现了Item的拖动和删除功能,ItemTouchHelper是v7包下的一个类,我们看一下他的介绍 This is a utility class to add swipe to dismiss and drag &...
阅读(22725) 评论(33)

Android设计模式之一个例子让你彻底明白工厂模式(Factory Pattern)

提出疑问这几天研究工厂模式的时候,看到网上的一些文章中举的例子我就很疑惑,我相信这也是许多人的疑惑:工厂模式的功能就是创建实例,我们创建实例直接new不就完了吗,干嘛还得再封装一层工厂类,然后用工厂类再去new出这个实例?这不多此一举吗?比如我看到这样的例子,我们的用户分为金牌用户和银牌用户,我们要创建一个金牌用户或者银牌用户。定义一个用户接口public interface ICustomer {...
阅读(5294) 评论(41)

Android设计模式之一个例子让你彻底明白装饰者模式(Decorator Pattern)

导读这篇文章中我不会使用概念性文字来说明装饰者模式,因为通常概念性的问题都很抽象,很难懂,使得读者很难明白到底为什么要使用这种设计模式,我们设计模式的诞生,肯定是前辈们在设计程序的时候遇到了某种困难,为了避免这种苦难的发生,从而设计出来的这种设计模式,所以这篇文章中我会带领大家遇见这种困难,从而使用设计模式解决这种困难,最后大家就会明白什么是设计者模式,什么时候应该使用设计者模式以及如何使用设计者模...
阅读(2556) 评论(12)

Android自定义控件之仿知乎详情页

效果图包含的技术点这个知乎的详情页面所包含的几个技术点:1. support.v7包下的ToolBar的使用 2. ScrollView实现滑动顶部停靠 3. 监听手势滑动方向来显示和隐藏底部视图 ToolBar的使用知乎的Material Design版本顶部的导航是一个ToolBar控件,ToolBar是support.v7包下的一个控件,ToolBar的使用非常简单,首先我们现在layo...
阅读(4604) 评论(23)

Android设计模式之建造者模式(builder pattern)

builder设计模式我们很常见,比如我们使用AlertDialog的时候就使用的builder设计模式,著名的Universal-Image-Loader的初始化配置也是使用的builder设计模式,那么他们为什么使用builder设计模式,什么情况下我们应该考虑使用builder设计模式,这是我们很多人的疑惑,即便是学会了也不知道什么时候应该使用,这篇文章我将告诉大家在什么情况下应该考虑使用b...
阅读(2413) 评论(11)

Android并发编程之如何使用ReentrantReadWriteLock替代synchronized来提高程序的效率

Java的synchronized关键字可以帮助我们解决多线程并发的问题,比如我们有一个公共资源,多个线程都来操作这个公共的资源,就会出现并发的问题,比如不同的线程对同一个数据同时进行读和写,肯定会使得每个线程最后拿到的都不是自己所希望拿到的值,为了解决这个问题,我们可以使用synchronized关键字加锁。以前synchronized由于性能消耗太大,在Java SE 1.6对它进行了优化,使得...
阅读(1489) 评论(1)

Android并发编程之全方位解析AsyncTask

AsyncTask内部是一个线程池去执行任务的,同一个AsyncTask只能execute()一次,这是为什么呢?我们可以通过一个例子来说明。 首先我们先不用AsyncTask,而是开启一个线程池来执行一个任务,我们将这个任务执行3次,线程池会把这个任务分配给3个线程来并发执行此任务,这3个线程操作的是一个共享变量,我们看看会出现什么问题。 public class MainActivity...
阅读(1655) 评论(2)

Android并发编程之Handler,MessageQueue,Looper详解

Handler和Looper,MessageQueue之间是什么关系? Looper和MessageQueue是线程中的概念,但是线程默认是没有Looper和MessageQueue的,我们需要手动去设置他们,当一个线程有了Looper和MessageQueue后,就可以关联一个Handler,我们再通过这个Handler,就可以从别的线程中发送消息给这个线程来执行。 我们给一个线程配置了Lo...
阅读(1901) 评论(6)

Android并发编程之白话文详解Future,FutureTask和Callable

说到并发编程,就一定是多个线程并发执行任务。那么并发编程的基础是什么呢?没错那就是Thread了。一个Thread可以执行一个Runnable类型的对象。那么Runnable是什么呢?其实Runnable是一个接口,他只定义了一个方法run(),这个run()方法里就是我们要执行的任务,并且是要被Thread调用的。因此,一个Runnable就可以理解为一个要被执行的任务,而Thread就是一个执...
阅读(5335) 评论(6)
50条 共4页1 2 3 4 下一页 尾页
    个人资料
    • 访问:255686次
    • 积分:3357
    • 等级:
    • 排名:第10402名
    • 原创:45篇
    • 转载:1篇
    • 译文:4篇
    • 评论:373条
    博客专栏
    QQ交流群
    45532593
    最新评论