随笔分类 -  Android

摘要:1 public abstract class Animation implements Cloneable { 2 Interpolator mInterpolator; 3 // 通过set方法注入 4 public void setInterpolator(Interpolator i) { 5 mInterpolator = i; 6 } 7 8 public boolean getTransformation(long currentTime, Transformation outTransfor... 阅读全文
posted @ 2013-06-09 14:13 zghbhdxw 阅读(189) 评论(0) 推荐(0)
摘要:quote from:http://www.cnblogs.com/qianxudetianxia/archive/2011/08/28/2155872.html本文算是一篇漫谈,谈一谈当前几个流行应用的主界面布局,找个经典的布局我们自己也来实现一个。不是为了追求到底有多难,而是为了明白我们确实需要这么做。走个题,android的UI差异化市场依然很大,依然值得去挖掘。铸就经典,是为了超越经典!下面我们以下面10个应用来分析比较它们的主界面:1.QQ20112.新浪微博3.凤凰周刊4.小米读书5.微信6.太平洋电脑网7.360卫士8.Camera3609.大众点评网10.挖财1.QQ2011Q 阅读全文
posted @ 2013-06-09 14:06 zghbhdxw 阅读(212) 评论(0) 推荐(0)
摘要:CV一族,应该很容易理解原型模式的原理,复制,粘贴完后看具体情况是否修改,其实这就是原型模式。从java的角度看,一般使用原型模式有个明显的特点,就是实现cloneable的clone()方法。原型模式,能快速克隆出一个与已经存在对象类似的另外一个我们想要的新对象。1.意图用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。热门词汇:克隆 深拷贝 浅拷贝2.结构图和代码它的结构图非常简单,我们以Intent为例子:Intent的clone方法非常简单:1 @Override2 public Object clone() { 3 return new Intent(this)... 阅读全文
posted @ 2013-06-09 14:02 zghbhdxw 阅读(189) 评论(0) 推荐(0)
摘要:quote frome:http://www.cnblogs.com/qianxudetianxia/archive/2012/02/27/2010965.html对于android开发者来说起,适配器模式简直太熟悉不过,有很多应用可以说是天天在直接或者间接的用到适配器模式,比如ListView。ListView用于显示列表数据,但是作为列表数据集合有很多形式,有Array,有Cursor,我们需要对应的适配器作为桥梁,处理相应的数据(并能形成ListView所需要的视图)。正是因为定义了这些适配器接口和适配器类,才能使我们的数据简单灵活而又正确的显示到了adapterview的实现类上。适配 阅读全文
posted @ 2013-06-09 13:55 zghbhdxw 阅读(166) 评论(0) 推荐(0)
摘要:工厂方法模式,往往是设计模式初学者入门的模式,的确,有人称之为最为典型最具启发效果的模式。android中用到了太多的工厂类,其中有用工厂方法模式的,当然也有很多工厂并不是使用工厂方法模式的,只是工具管理类。今天以ThreadFactory举例说明一下简单工厂模式和工厂方法模式。工厂方法模式,Factory Method,简单的方式,不简单的应用。1.意图定义一个用于创建对象的接口,让子类决定实例化哪个类。工厂方式模式使一个类的实例化延迟到其子类。热门词汇:虚构造器 延迟 创建对象 子类2.结构图和代码我们先看看标准的工厂方法结构图:先抽象的产品类,抽象的工厂类,然后用客户端具体的工厂生产相应 阅读全文
posted @ 2013-06-09 13:48 zghbhdxw 阅读(153) 评论(0) 推荐(0)
摘要:quote from:http://www.cnblogs.com/qianxudetianxia/archive/2011/08/13/2135478.html命令模式,在.net,java平台的事件机制用的非常多,几乎每天都与之打交道。android中对我印象最深的就是多线程多进程的环境,所以必然大量使用到Runbable,Thread,其实用的就是最简单的命令模式。命令模式,Command Pattern,把请求封装为一个对象,多么巧妙的一个说法啊。1.意图将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化,对请求排队或记录请求日志,以及支持可撤销的操作。热门词汇:动作 事 阅读全文
posted @ 2013-06-09 13:38 zghbhdxw 阅读(251) 评论(0) 推荐(0)
摘要:quote from:http://www.cnblogs.com/qianxudetianxia/archive/2011/08/10/2133659.html享元模式,给我的感觉就是对象池,缓存单例对象。java中的享元模式最经典的例子就是String类了,还有一个最容易理解的就是word文档字符共享的例子,也是享元模式的经典应用。本文对android中的sql编译类SQLiteCompiledSql说明,展开分析,也是很容易理解的一个例子,其实,android SDK中必然有很多地方需要用到享元模式。享元模式,Flyweight Pattern,说的严重点,一些程序如果不使用享元模式的话 阅读全文
posted @ 2013-06-09 13:34 zghbhdxw 阅读(408) 评论(0) 推荐(0)
摘要:备忘录模式,在工作代码中,要么不用,要么经常用到。举个例子,程序员喜欢写代码,coding,coding,这个时候它的状态是很high,但是每隔一段时间总要去上一下厕所,状态是放松relax,上完测试归来后又恢复到high的状态,继续coding。这个过程对于身后的老板来说,它默认同意你离开去上厕所,他也希望你回来后恢复high的状态继续工作,但是你在这个过程中上厕所的这件事,他是不需要了解细节的,而且做为当事人你也不希望他了解你上厕所的细节吧,你只要回来后恢复激情high着继续工作,老板应该就不会挑你的刺。这就是备忘录模式。本文今天就Canvas的一个save(),restore()操作分析 阅读全文
posted @ 2013-06-09 13:23 zghbhdxw 阅读(220) 评论(0) 推荐(0)
摘要:模板方法,和单例模式是我认为GOF的23中最简单的两种模式。但是我个人对模板方法的经典思想特别推崇,虽然模板方法在大对数情况下并不被推荐使用,但是这种通过父类调用子类的方法,使用继承来改变算法的一部分,是面向对象的一种基本认识。打比方说父亲有很多理想,就行医救人吧,但是父亲医术不行,只能靠儿子,儿子长大后遵从父亲大志,春风拂面,妙手回春,实现了父亲的理想,儿子做的事情早在出生前就定下来了,是父亲之前久定好的模板。认识到模板方法的这种思想,父类可以让未知的子类去做它本身可能完成的不好或者根本完成不了的事情,对框架学习大有帮助。本文以View中的draw方法为例,展开分析。模板方法,Templat 阅读全文
posted @ 2013-06-09 13:10 zghbhdxw 阅读(191) 评论(0) 推荐(0)
摘要:quote frome :http://www.cnblogs.com/qianxudetianxia/archive/2011/08/07/2130306.html单例模式,可以说是GOF的23种设计模式中最简单的一个。这个模式相对于其他几个模式比较独立,它只负责控制自己的实例化数量单一(而不是考虑为用户产生什么样的实例),很有意思,是一个感觉上很干净的模式,本人很喜欢这个模式。android中很多地方都用到了单例模式,本文以输入法管理者InputMethodManager为例,展开分析。单例模式,Singleton Pattern,能够以其特有的优势,替代系统中全局变量,应用非常广泛。1. 阅读全文
posted @ 2013-06-09 12:29 zghbhdxw 阅读(169) 评论(0) 推荐(0)
摘要:quote from:http://www.cnblogs.com/qianxudetianxia/archive/2011/08/07/2129731.html观察者模式,是一种非常常见的设计模式,在很多系统中随处可见,尤其是涉及到数据状态发生变化需要通知的情况下。本文以AbstractCursor为例子,展开分析。观察者模式,Observer Pattern,是一个很实用的模式,本人曾经接触到的各种平台以及曾经参与项目中打印模板解释器中都用到了此模式。1.意图定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。热门词汇:依赖 发布-订阅 阅读全文
posted @ 2013-06-09 11:46 zghbhdxw 阅读(145) 评论(0) 推荐(0)
摘要:游标ListView,提供索引标签,使用户能够快速定位列表项。 也可以叫索引ListView,有的人称也为Tweaked ListView,可能更形象些吧。 一看图啥都懂了:1.游标(Fast scroll thumb) 就是右边的那个拖动的方块,这个非常的简单:?12345<ListViewandroid:id="@+id/tweaked_list"android:layout_width="fill_parent"android:layout_height="wrap_content"android:fastScrollEn 阅读全文
posted @ 2013-06-09 10:27 zghbhdxw 阅读(347) 评论(0) 推荐(0)
摘要:Android中对组合模式的应用,可谓是泛滥成粥,随处可见,那就是View和ViewGroup类的使用。在android UI设计,几乎所有的widget和布局类都依靠这两个类。组合模式,Composite Pattern,是一个非常巧妙的模式。几乎所有的面向对象系统都应用到了组合模式。1.意图将对象View和ViewGroup组合成树形结构以表示"部分-整体"的层次结构(View可以做为ViewGroup的一部分)。组合模式使得用户对单个对象View和组合对象ViewGroup的使用具有一致性。热点词汇: 部分-整体 容器-内容 树形结构 一致性 叶子 合成 安全性 透明 阅读全文
posted @ 2013-06-09 09:55 zghbhdxw 阅读(354) 评论(0) 推荐(1)
摘要:根据前面文章中ListView拖拽的实现原理,我们也是很容易实现推拽GridView的,下面我就以相同步骤实现基本的GridView拖拽效果。 因为GridView不用做分组处理,代码处理起来更简洁,而且原理前面已经讲解清楚了,代码中只是简单的过下,必要的地方简单的注释一下。1.主界面DragGridActivity.?12345678910111213141516171819202122232425262728public class DragGridActivity extends Activity { private static List<String> list = nu 阅读全文
posted @ 2013-06-08 19:00 zghbhdxw 阅读(195) 评论(0) 推荐(0)
摘要:http://www.cnblogs.com/qianxudetianxia/archive/2011/06/12/2068761.htmldetals see:http://www.cnblogs.com/qianxudetianxia/archive/2012/06/14/2549891.html研究了很久的拖拽ListView的实现,受益良多,特此与尔共飨。 鉴于这部分内容网上的资料少而简陋,而具体的实现过程或许对大家才有帮助,为了详尽而不失真,我们一步一步分析,分成两篇文章。一、准备。1.需求问题 初步:实现列表的拖拽效果(可参考Android源码下packages/apps/... 阅读全文
posted @ 2013-06-08 18:57 zghbhdxw 阅读(234) 评论(0) 推荐(0)
摘要:本文介绍下在Android中实现伸缩弹力分布菜单效果。关于这种菜单效果在IPhone中比较常见,效果比较酷。那么在Android中实现只是一种简单的模仿。 这两天无意间看到一园友的博文实现Path2.0中绚丽的的旋转菜单,感觉效果不错,但是发现作者没有处理线程安全的问题,所以在这里我修正了下,并且改善下部分功能。今天发布这篇文章的目的是希望能在Android用户体验上提出一些相关的解决方案,方便我们在开发项目或产品时增强用户体验效果,当然也希望能起到抛砖引玉的作用。^_^ 这里主要是用到Android中的动画效果,关于动画效果的基本知识,有需要的朋友可以查看这篇文章:http://ww... 阅读全文
posted @ 2013-06-08 18:53 zghbhdxw 阅读(227) 评论(0) 推荐(0)
摘要:本文介绍在Android中如何实现下拉导航选择菜单效果。 关于下拉导航选择菜单效果在新闻客户端中用的比较多,当然也可以用在其他的项目中,这样可以很方便的选择更多的菜单。我们可以让我们的应用顶部有左右滑动或进行切换的导航菜单,也可以为了增强用户体验在应用中添加这样的下拉导航选择菜单效果。 关于它的实现原理,其实也是挺简单的,就是使用PopupWindow来进行展现,在显示时控制其高度并配置以相应的动画效果。在PopupWindow中我使用GridView来控制里面的菜单项,每个菜单项对应相应的图片和文字。当然了,也有其他的实现方式。为了大家能够清楚的理解,让我们先看下效果图,如下所示: 以... 阅读全文
posted @ 2013-06-08 18:36 zghbhdxw 阅读(235) 评论(0) 推荐(0)
摘要:本文介绍在Android中实现局部的图片滑动指引效果。 其实关于Android滑动指引效果,我曾经发布过一篇文章,里面实现的整个页面的指引滑动,有兴趣的朋友可以查看:http://www.cnblogs.com/hanyonglu/archive/2012/04/07/2435589.html。 另外关于Android中的局部滑动,我也曾发布过一篇文章,是关于实现导航菜单的滑动,有兴趣的朋友可以查看:http://www.cnblogs.com/hanyonglu/archive/2012/04/21/2462311.html 今天发布本文的原因是应一个网友要求,就是实现局部的图... 阅读全文
posted @ 2013-06-08 18:16 zghbhdxw 阅读(207) 评论(0) 推荐(0)
摘要:最近由于手机项目中需要用到OpenGL ES的知识,所以这段时间正在研究OpenGL的相关知识。因为OpenGL ES是OpenGL的剪裁版本,所以我直接从OpenGL入手,然后再去看OpenGL ES就很容易上手。从此篇开始,我将发表一系列文章来逐步深入介绍OpenGL的相关知识,开发我们可以使用VC6.0或.NET。 那么今天我要介绍的是OpenGL开发之旅基础知识介绍,这很重要,会让我们从整体上熟悉OpenGL的工作原理及过程。 1. 保持模式与立即模式: 通常情况下我们编写3D图形时可使用两种不同的方法: 一种方法我们称之为保持模式。在保持模式中,我们可以向编写的API... 阅读全文
posted @ 2013-06-08 18:13 zghbhdxw 阅读(283) 评论(0) 推荐(0)
摘要:本示例演示如何在Android中使用加载器(Loader)来实现获取本机中的所有图片,并进行查看图片的效果。 在这个示例中,我使用android-support-v4.jar中的加载器(Loader)来实现获取本机中所有图片,关于这个包在以前的文章中也提到,是一个非常有用的包,关于这个包的详细信息请大家查看官方文档:http://developer.android.com/sdk/compatibility-library.html。 关于加载器(Loader)是在Android3.0中才开始引进并使用的,Android3.0以前的版本中要想使用加载器则需要用android-support.. 阅读全文
posted @ 2013-06-08 18:12 zghbhdxw 阅读(298) 评论(0) 推荐(0)