代码改变世界

summary2

2012-11-05 10:35  lee++  阅读(161)  评论(0)    收藏  举报

1. 调用requestFocus() 强制获取焦点

2.所有的View 会设定一个监听器,用来监听View获取/失去焦点,

  eg: 注册监听器 setOnFocusChangeListener(android.view.View.OnFocusChangeListener)

3.SetVisibility(int) 显示或隐藏View

4. framework 层自己负责measuring,laying out,drawing view

    我们自己不应该调用方法,执行这些操作,除非自己实现了一个ViewGroup

5. 通过复写 framework层的标准方法,来开始实现了一个普通的View

通过onDraw(android.graphics.Canvas) 开始

6. onFinishFlate()

    onFocusChanged(boolean,int,android.graphic.Rect)

    当view 获得或失去Focus时调用

    onWindowFocusChanged(boolean) 当window中包含的view获得焦点时调用

7. onAttachedToWindow 当view 附着到window时调用

    onDetachedFromWindow 当view从window中分离时调用

    onWindowVisibilityChanged() 当包含view的window的可见性改变时调用

8. 安装apk到模拟器时报错:

Installation error:INSTALL_FAILED_SHARED_USER_INCOMPATIBLE

解决办法: 把AndroidManifest.xml 中的

android:sharedUserId = "android.uid.shared" 删掉

 

9. context.getPackageManager()

返回PackageManager 的实例,查找全局的Package信息

PackageManager.queryIntentActivities(Intent,int flags)检索所有的Activity,能被给定的intent所执行

ViewGroup.removeAllViewsInLayout()

被其子类调用,用于remove所有子视图

onMeasure(): 确定所有子元素的大小