发布在我的网站 http://kesenhoo.github.io/blog/2013/06/30/android-training-ui-creating-custom-views-lesson-1/ ,欢迎访问! 设计良好的类总是相似的.它使用一个好用的接口来封装一个特定的功能,它有效的使用CPU与内存,等等.为了成为一个设计良好的类,自定义的view应该: 遵守Android标准规则. 提供自定义的风格属性值并能够被Android XML Layout所识别. 发出可访问的事件. 能够兼容…
发表在我的独立网站http://kesenhoo.github.io/blog/2013/06/30/android-training-ui-creating-custom-views-lesson-0/ ,欢迎访问! Android的framework有大量的Views用来与用户进行交互并显示不同种类的数据.但是有时候你的程序有个特殊的需求,而Android内置的views组件并不能实现.这一章节会演示如何创建你自己的views,并使得它们是robust与reusable的. Dependen…
发布在我的网站:http://kesenhoo.github.io/blog/2013/06/30/android-training-ui-creating-custom-views-lesson-2/ , 欢迎访问! 自定义view的最重要的一个部分是自定义它的外观.根据你的程序的需求,自定义绘制动作可能简单也可能很复杂.这节课会演示一些最常见的操作. Override onDraw() 重绘一个自定义的view的最重要的步骤是重写onDraw()方法.onDraw()的参数是一个Canvas…
写在http://hukai.me/blog/android-training-18-running-background-service-lesson-1/ 版权声明:本文博客原创文章,博客,未经同意,不得转载.…
Android框架中,所有自定义的view类都继承自View,也可以继承Button等view的子类 为了允许ADT能够与view交互,必须提供一个能够获取Context和作为属性的AttributeSet对象的构造函数.这个构造函数允许布局编辑器建立和编辑view的实例. public class MyRect extends View { public MyRect(Context context) { super(context); // TODO Auto-generated const…
自定义动画,需要新建一个类,继承Animation类. 重写applyTransformation()方法和initialize()方法. applyTransformation(float interpolatedTime, Transformation t)方法中 第一个参数:interpolatedTime代表动画的时间进行比.不管动画实际的持续时间如何,当动画播放时,该参数总是自动从0变化到1. 第二个参数:Transformation t代表了补间动画在不同时刻对图形或组件的变形程度.…
写在http://hukai.me/blog/android-training-18-running-background-service-lesson-2/…
转:http://boke.25k5.com/kan77298.html 如何创建自定义列表 首先了解创建自定义列表中涉及到的几个名词:栏.内容类型. ①栏:栏即列.字段(Field),MSDN中给出的解释为:"字段"一词在 SharePoint Foundation 开发中有两个关系非常密切的含义.有时它指的是列表中的列,但如果提到单个列表项,"字段"一词g 8h"@的意思与"单元格"很接近,这里的单元格是表中某一列和某一行相交的…
原文:Knockout应用开发指南 第五章:创建自定义绑定 创建自定义绑定 你可以创建自己的自定义绑定 – 没有必要非要使用内嵌的绑定(像click,value等).你可以你封装复杂的逻辑或行为,自定义很容易使用和重用的绑定.例如,你可以在form表单里自定义像grid,tabset等这样的绑定. 重要:以下文档只应用在Knockout 1.1.1和更高版本,Knockout 1.1.0和以前的版本在注册API上是不同的. 注册你的绑定 添加子属性到ko.bindingHandlers来注册你的…
创建自定义绑定 你可以创建自己的自定义绑定 – 没有必要非要使用内嵌的绑定(像click,value等).你可以你封装复杂的逻辑或行为,自定义很容易使用和重用的绑定.例如,你可以在form表单里自定义像grid,tabset等这样的绑定. 注册您的绑定 添加子属性到ko.bindingHandlers来注册你的绑定: <script type="text/javascript"> ko.bindingHandlers.yourBindName = { init: funct…