上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 15 下一页
摘要: 传送门☞轮子的专栏☞转载请注明☞http://blog.csdn.net/leverage_1229 今天我们学习如何实现图片(理论上选取的图片实际尺寸应大于当前手机的屏幕尺寸)拖拉和多点触摸缩放功能。其中多点触摸缩放功能模拟器上不支持,需要在真机下测试。下面给出该场景的案例:1案例技术要点(1)图片变换矩阵(android.graphics.Matrix):提供记录图片位置、记录图片缩放比例、实现图片移动等。(2)图片坐标点(android.graphics.PointF):提供记录图片起点和中心点坐标等。(3)重写图片所在Activity的onTouch(...)方法,处理以下几个事... 阅读全文
posted @ 2013-06-03 02:01 Innosight 阅读(308) 评论(0) 推荐(0) 编辑
摘要: 传送门☞轮子的专栏☞转载请注明☞http://blog.csdn.net/leverage_1229 今天我们学习如何在Android应用中进行单元测试,分别测试业务方法和日志系统,并且给出相关的log记录,下面给出该场景的案例。1案例技术要点(1)为了使你的应用程序支持单元测试功能,需要在清单文件(AndroidManifest.xml)中添加如下配置: (2)相关测试类需要继承android.test.AndroidTestCase类方可进行单元测试。2案例代码陈列AndroidManifest.xml ... 阅读全文
posted @ 2013-06-02 23:08 Innosight 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 传送门☞轮子的专栏☞转载请注明☞http://blog.csdn.net/leverage_1229 今天我们学习如何利用Widget来显示系统当前的日期和时间,下面给出该场景的案例:1案例技术要点(1)创建TimeWidgetProvider继承于AppWidgetProvide类,并重写如下两个方法:onDeleted(...):当第一次向桌面添加Widgets的时候回调此方法onEnabled(...):当最后一个同类型Widgets实例被删除时回调此方法(2)创建TimerService继承于Service类,用于获取系统当前日期与时间。(3)通过获取AppWidgetManag... 阅读全文
posted @ 2013-06-02 19:58 Innosight 阅读(241) 评论(0) 推荐(0) 编辑
摘要: 传送门☞轮子的专栏☞转载请注明☞http://blog.csdn.net/leverage_1229 为了在Android创建一个动态的多面的用户界面,你需要封装UI组件和activity的行为到一种可以相互交换的act的模块中。我们能使用Fragment类创建这些模块,这行为有点像一个嵌套的act,它可以定义自己的布局和管理自己的生命周期。Fragment的好处已经越发明显,它是Android3.0新增的API。当一个fragment指定它的布局,它能以不同的组合配置到act中,为不同的屏幕大小修改你的布局配置,一个小屏幕可能只显示一个fragment,而在大屏幕中可能显示2个或2个以... 阅读全文
posted @ 2013-06-02 18:04 Innosight 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 传送门☞轮子的专栏☞转载请注明☞http://blog.csdn.net/leverage_1229 今天我们学习如何实现一个自定义的窗口标题,下面给出该场景的案例:1案例技术要点(待整理)2案例代码陈列AndroidManifest.xml strings.xml Android自定义窗口标题 #00000000 main.xml 自定义样式文件:styles... 阅读全文
posted @ 2013-06-02 12:32 Innosight 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 传送门☞轮子的专栏☞转载请注明☞http://blog.csdn.net/leverage_1229 今天我们学习一下如何利用CheckBox实现对联系人记录的多选删除,多选删除功能在平时工作中经常会遇到,通常有两种解决方案:CheckBox实现和ActonBar实现。本人偏爱CheckBox样式的多选模式,因为它实现起来比较灵活多变,样式变换也很容易。而ActionBar的多选样式变换相对而言工作量会大很多。1案例技术要点(待整理)2案例代码陈列工程包目录AndroidManifest.xml ... 阅读全文
posted @ 2013-05-31 12:27 Innosight 阅读(390) 评论(0) 推荐(0) 编辑
摘要: 一、概述 为其他对象提供一种代理以控制对这个对象的访问。二、适用性1.远程代理(RemoteProxy):为一个对象在不同的地址空间土工局部代表。2.虚代理(VirtualProxy):根据需要创建开销很大的对象。3.保护代理(ProtectionProxy):控制对原始对象的访问。4.智能代理(SmartReference):取代简单的指针,在访问对象时执行一些附加操作。三、参与者1.Proxy:保存一个引用使得代理可以访问实体。若RealSubject和Subject的接口相同,Proxy会引用Subject。提供一个与Subject的接口相同的接口,这样代理就可以用来替代实体。控制... 阅读全文
posted @ 2013-05-31 12:13 Innosight 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 一、概述 为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。二、适用性1.当你要为一个复杂子系统提供一个简单接口的时候。子系统往往因为不断演化而变得越来越复杂。大多数模式使用时都会产生更多更小的类。这使得子系统更具可重用性,也更容易对子系统进行定制,但这也给那些不需要定制子系统的用户带来一些使用上的困难。外观模式可以提供一个简单的缺省视图,这一视图对大多数用户来说已经足够,而那些需要更多的可定制性的用户可以越过外观层。2.客户程序与抽象类的实现部分之间存在着很大的依赖性的时候。引入外观模式将这个子系统与客户以及其他的子系统分离,可以提高.. 阅读全文
posted @ 2013-05-31 12:11 Innosight 阅读(275) 评论(0) 推荐(0) 编辑
摘要: 一、概述 动态地给一个对象添加一些额外的职责。装饰模式比生成子类更为灵活。二、适用性1.在不影响其他对象的情况下,以动态、透明的方式给但个对象添加职责。2.处理那些可以撤销的职责。3.当不能采用生成子类的方式进行扩展的时候。三、参与者1.Component:定义一个对象接口,可以给这些对象动态地添加职责。2.ConcreteComponent:定义一个对象,可以给这个对象添加一些职责。3.Decorator:维持一个指向Component对象的指针,并且定义一个与Component接口一致的接口。4.ConcreteDecorator:向组件添加职责。四、类图五、示例Componentp... 阅读全文
posted @ 2013-05-31 12:10 Innosight 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 一、概述 将对象组合成树型结构以表示“部分--整体”的层次关系。组合模式使得用户对单个对象和组合对象的使用具有一致性。二、适用性1.你想表示对象的部分--整体层次结构的时候。2.你希望用户忽略组合对象与单个对象的不同的时候,用户将统一地使用组合结构中的所有对象。三、参与者1.Component:为组合中的对象声明接口。在适当的情况下,实现所有类共有接口的缺省行为。声明一个接口用于访问和管理Component的子组件。在递归结构中定义一个接口,用于访问一个父部件,并且在适当的情况下实现它。2.Leaf:在组合中表示叶节点对象,叶节点没有子节点。在组合中定义节点对象的行为。3.Composi... 阅读全文
posted @ 2013-05-31 12:09 Innosight 阅读(211) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 15 下一页