- 博客(16)
- 资源 (65)
- 收藏
- 关注
原创 使用Android库项目时适用的架构模式
在Android库项目(Library Project)发布之前,在不同Android项目间共享代码是很困难甚至是不可能的。通常使用JAR包共享Java代码,但是却无法共享那些需要引用资源文件的代码。共享Activity或者自定义视图是不可能的,因为开发者无法把资源文件添加到JAR包中,供其它应用程序使用。为了解决共享代码的问题,Android库项目应运而生了。
2015-11-22 20:02:53 415
原创 Android开发模式:模型—视图—主导器模式
我们有可能使用过MVC(Model—View—Controller)模式,但当我们用更优的方法测试Android代码时,使用MVP(模型—视图—主导器:Model—View—Presenter)模式可能更合适。
2015-11-22 17:51:54 562
原创 使用Hierarchy Viewer工具移除不必要的视图
Hierarchy Viewer工具可以用来查看视图树(View Tree)并分析视图树中各个视图在测量、布局、绘制阶段所消耗的时间。通过该工具提供的信息,开发者可以找出视图树中那些不必要的视图以及性能瓶颈。
2015-11-21 17:25:09 736
原创 在发布正式版本前移除日志语句
移除日志对于保持Logcat输出的清晰整洁是很重要的。另外,在代码中留下过多日志也会暴露一些开发者不想泄漏的敏感信息。我认为,移除日志的最佳方法是使用ProGuard工具。ProGuard可以移除无用代码,或者使用语义模糊的名称来重命名类、变量和方法,以此达到压缩、优化和混淆代码的目的。这样。生成的APK体积更小,并且更不易被逆向工程。
2015-11-21 16:42:16 568
原创 使用Gallery创建向导表单
当需要用户填充一个较长的表单时,开发者或许会找不到头绪。在接下来的这个例子中,我们会使用Gallery控件创建一个具有多个表单项的用户注册表单。
2015-11-19 21:44:27 639 1
原创 移除背景以提升Activity启动速度
Android SDK中提供了Hierarchy Viewer工具,该工具可以用来检测未被使用的视图以减少视图树的层次。如果开发者通过该工具浏览一颗视图树,会发现许多不可控的节点。接下来,我们来看看这些节点是什么以及如何微调它们来提升Activity的启动速度。
2015-11-14 19:48:52 2111
原创 在onCreate()方法中获取View的宽度与高度
当我们试图在Activity的onCreate()方法中获取控件的宽和高时,遗憾的是如果我们在onCreate()方法中调用View的getHeight()和getWidth()方法,会发现返回值都是0。为什么会是0呢?
2015-11-14 13:40:10 2016 1
原创 避免在EditText中验证日期
假设我们开发一个应用程序,里面使用了大量日期输入框。但我们不想验证每个日期字段,因此得想出一个简单的方法避免这个验证过程。该方法的思路是:开发一个外观看起来与EditText相同的Button,点击该Button后,会显示一个DatePicker控件。
2015-11-11 21:45:16 470
原创 附加Ken Burns特效的幻灯片
Ken Burns特效只不过是视频产品中使用的一种平移和缩放静态图片的特效。:要实现上述功能,需要使用Jake Wharton开发的Nine Old Androids库。这个库可以让开发者在旧版本上使用Android3.0的动画API。
2015-11-05 22:41:54 656
原创 在Canvas上显示动画
如果想为自定义的UI控件添加动画效果,会发现动画相关的API是很有限的。那么有没有API可以直接向屏幕绘图呢?答案是肯定的。Android提供了Canvas满足这一要求。
2015-11-03 22:45:04 1074
原创 为ViewGroup的子视图添加悦目的动画效果
Android提供了LayoutAnimationController类,用于为布局或者ViewGroup的子视图添加动画效果。有一点需要强调,开发者不可以为每个子视图分别指定不同的动画效果,但是LayoutAnimationController可以决定各个子视图显示动画效果的时间。使用LayoutAnimationController有两种方式:直接在代码中使用或者在XML文件中配置。
2015-11-02 21:53:02 804
Android控件架构与自定义控件详解(三)——自定义ViewGroup
2016-05-15
Android控件架构与自定义控件详解(二)——自定义ViewGroup
2016-05-15
Android控件架构与自定义控件详解(二)——自定义View
2016-05-14
ListView的选择模式
2015-12-19
使用Activity和Delegate与适配器交互
2015-12-19
为ListView添加分段标头
2015-12-19
使用Android库项目时适用的架构模式
2015-11-22
Android开发模式:模型—视图—主导器模式
2015-11-22
使用Hierarchy Viewer工具移除不必要的视图
2015-11-21
附加Ken Burns特效的幻灯片
2015-11-06
在Canvas上显示动画
2015-11-04
移动迷宫——拼图游戏
2016-06-14
Android 5.X 新特性详解(五)——Notification
2016-06-14
Android 5.X 新特性详解(五)——Toolbar
2016-06-13
Android 5.X 新特性详解(二)——列表与卡片
2016-06-12
Android 5.X 新特性详解(一)——主题、Palette、阴影、着色和裁剪
2016-06-08
Android动画机制与使用技巧(五)——Android 5.X SVG 矢量动画机制
2016-06-05
自定义动画
2016-06-02
Android绘图机制与处理技巧(四)——Android图像处理之画笔特效处理
2016-06-01
Android绘图机制与处理技巧(二)——Android图像处理之色彩特效处理
2016-05-27
Android Scroll分析(三)——ViewDragHelper
2016-05-20
Android Scroll分析(二)——实现滑动的五种方法
2016-05-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人