代码改变世界

View编程(5): 自定义View_01_ApiDemo源码研究

2011-12-14 16:06 by tang768168, 279 阅读, 0 推荐, 收藏, 编辑
摘要:android提供的APIDemo中,在/res/values下面有个attrs.xml文件。其内容如下:<?xmlversion="1.0"encoding="utf-8"?><!--Copyright(C)2007TheAndroidOpenSourceProjectLicensedundertheApacheLicense,Version2.0(the"License");youmaynotusethisfileexceptincompliancewiththeLicense.Youmayobtainacopy 阅读全文

View编程(4): Template method

2011-12-14 16:02 by tang768168, 169 阅读, 0 推荐, 收藏, 编辑
摘要:说重点之前,给大家推荐一篇文章,算是对View绘图的一个小例子。publicclassAndroidTestextendsActivity{@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);MyViewmv=newMyView(this);setContentView(mv);}publicclassMyViewextendsView{MyView(Contextcontext){super(context);}@OverrideprotectedvoidonDraw 阅读全文

Handler应用: Activity 之间通过 Handler 通信

2011-12-14 15:42 by tang768168, 4379 阅读, 1 推荐, 收藏, 编辑
摘要:假设你已经明白下面的内容,那么这篇博客很适合您!<1> Application 的作用及用法<2> Activity、Task 以及 Application 之间的关系<3> Handler 的用法真的很感谢anhenzhufeng 这位 CSDN 好友,如果不是他的虚心和认真,恐怕这篇文章难以问世!再次感谢他在我的博客http://blog.csdn.net/androidbluetooth/article/details/6384641#reply的提问,这篇文章送给他以及有需要的朋友们。希望这篇博客能够帮到您!读这篇博客之前,我们看看 anhenzhu 阅读全文

View编程(3): invalidate()源码分析

2011-12-14 15:32 by tang768168, 431 阅读, 0 推荐, 收藏, 编辑
摘要:View编程(2): invalidate()再探博客中,说了加载View的onDraw()方法的时机以及invalidate()方法的作用。事实上,远远没有您想象的那么简单。为了写好这篇博客,还是拿例子说事吧。packagemark.zhang;importandroid.app.Activity;importandroid.content.Context;importandroid.graphics.Canvas;importandroid.graphics.Paint;importandroid.graphics.RectF;importandroid.os.Bundle;importa 阅读全文

View编程(2): invalidate()再探,实现UI程序的更新

2011-12-14 15:14 by tang768168, 297 阅读, 0 推荐, 收藏, 编辑
摘要:博客Android(四) :更新UI的方法中提到invalidate()方法,但是由于自己的阅历不足,没有过多的说明,只是泛泛而谈!本篇继续探究这个诡异的方法。在阅读本篇博客之前,建议您先看看View编程(1): Window、View与setContentView()基于Android(四) :更新UI的方法中的例子,稍作修改:packagemark.zhang;importandroid.app.Activity;importandroid.content.Context;importandroid.graphics.Canvas;importandroid.graphics.Paint; 阅读全文

Handler介绍:更新UI程序的方法

2011-12-14 15:02 by tang768168, 244 阅读, 0 推荐, 收藏, 编辑
摘要:总是感觉 android 中 UI 更新很让人纠结!自己小结一下,算是抛砖引玉。读这篇文章之前,假设你已经明白线程、Handler 的使用。在文章的最后,附录一张草图,主要用于说明 Handler、Message、MessageQueue、Looper 之间的关系。1. 在 onCreate() 方法中开启线程更新 UIview plainprint?publicclassMasterActivityextendsActivity{TextViewtv=null;Buttonbtn=null;@OverridepublicvoidonCreate(BundlesavedInstanceStat 阅读全文

LayoutInflater基础介绍

2011-12-14 14:39 by tang768168, 301 阅读, 0 推荐, 收藏, 编辑
摘要:LayoutInflater 在 android 开发中使用频率较高,今天谈谈! 该类是一个抽象类,在文档中如下声明:publicabstractclassLayoutInflaterextendsObject1. 获得 LayoutInflater 实例 三种方法可以获得该实例对象,方法如下:a.LayoutInflaterinflater=getLayoutInflater();b.LayoutInflaterlocalinflater=(LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);c.L 阅读全文

View编程(1): Window、View与setContentView()

2011-12-14 14:36 by tang768168, 381 阅读, 0 推荐, 收藏, 编辑
摘要:只要你使用过Activity,那么你一定使用过setContentView这个方法。一般都是这样调用该方法:setContentView(R.layout.main);然后,在手机或者模拟器上就可以看见自己的布局。如果,你留意的话,setContentView还有很多过载方法:publicvoidsetContentView(intlayoutResID){getWindow().setContentView(layoutResID);}publicvoidsetContentView(Viewview){getWindow().setContentView(view);}publicvoid 阅读全文

Linux(Ubuntu)下各种常用命令(个人总结)

2011-12-01 11:20 by tang768168, 366 阅读, 0 推荐, 收藏, 编辑
摘要:------------------------linux常用操作命令------------------------------------------------------注:命令之前加上sudo代表使用root权限操作(root为最高级别的权限所有者)cat /proc/cpuinfo --- 查询Linux操作系统的基本信息(例如硬件和软件信息)uname -m --- 查询当前Linux操作系统是多少位的操作系统uname --help --- uname帮助clear --- 清空终端上的内容cd mr1 --- 进入某一个文件夹(例如进入mr1可以使用cd ... 阅读全文

Android中Launcher2开发代码概述

2011-12-01 11:06 by tang768168, 465 阅读, 0 推荐, 收藏, 编辑
摘要:一、主要文件和类1.Launcher.java:launcher中主要的activity。2.DragLayer.java:launcher layout的rootview。DragLayer实际上也是一个抽象的界面,用来处理拖动和对事件进行初步处理然后按情况分发下去,角色是一个controller。它 首先用onInterceptTouchEvent(MotionEvent)来拦截所有的touch事件,如果是长按item拖动的话不把事件传下去, 直接交由onTouchEvent()处理,这样就可以实现item的移动了,如果不是拖动item的话就把事件传到目标view,交有目标view的事 件 阅读全文