Android 屏幕元素层次结构
2010-04-20 05:16:00 来源:WEB开发网核心提示:当一个新的按键事件发生时,调用此方法onKeyUp(int, KeyEvent)当一个按键释放事件发生时,Android 屏幕元素层次结构(3),调用此方法onMotionEvent(MotionEvent)当一个动作事件(如触摸)发生时,调用此方法FocusonFocusChanged(boolean, int)当V
onKeyUp(int, KeyEvent)
onMotionEvent(MotionEvent)
onFocusChanged(boolean, int)
onAttachedToWindow()
onDetachedFromWindow()
以上的事件是Android自动会处理的,而对于其它一些重要的事件,如鼠标点击等,却必须要我们自己手动添加到view中,这点比较郁闷,具体的添加方法如下:
public class SendResult extends Activity{protected void onCreate(Bundle savedValues){... Button button = (Button)findViewById(R.id.corky);button.setOnClickListener(mCorkyListener);} private OnClickListener mCorkyListener = new OnClickListener(){public void onClick(View v){setResult(RESULT_OK, "Corky!");finish();}};
屏幕元素层次结构
对于Android应用中的一个屏幕,它的屏幕元素是按层次结构来描述的。要将一个屏幕元素层次树绑定在一个屏幕上显示,Activity会调用它的 setContentView()方法并且传入这个层次树的根节点引用。当Activity被激活并且获得焦点时,系统会通知activity并且请求根节点去计算并绘制树,根节点就会请求它的子节点去绘制它们自己。
每个树上的ViewGroup节点会负责绘制它的子节点。ViewGroup会计算它的有效空间,布局所有的子显示对象,并最终调用所有的子显示对象的 Draw()方法来绘制显示对象。各个子显示对象可以向父对象请求它们在布局中的大小和位置,但最终决定各个子显示对象的大小和位置的是父对象。
更多精彩
赞助商链接