当前位置: 首页 > >

Android 用户界面解析

发布时间:

用户界面

  在一个Android应用程序里,用户接口是一系列的View和ViewGroup对象组合而成。Android有很多种View和ViewGroup对象,他们都继承自View基类。

  View对象是Android*台用户接口的基本对象。这些view类作为与用户交互的widgets小部件的父类,像文本框和按钮。ViewGroup作为提供各种布局结构的layouts的父类,例如linear线性布局,表格布局和绝对布局。

  一个view对象是一个数据结构,他存储布局参数和屏幕特定区矩形区域的内容。一个view会处理自己所在屏幕区域的测量、布局、绘制、焦点改变、滚动、和按键手*换ァW魑没Ы换ザ韵螅桓鰒iew可以作为用户与系统的交互工具,接收事件。



  
View 结构体系


  在Android*台,你要用到View或ViewGroup的层、节点的方式来定义一个Android用户界面,就像下面的图表,这个层次结构树可以按你的需求变得简单或者复杂。你可以用Android系统已经定义好的小控件或者布局,或者自定义一些。


?? 为了能让你的view层次结构在屏幕上渲染,你的activity需要调用setContentView()方法并且传递一个根节点对象的引用。Android系统接收这些配置,并使用他们来进行测量绘制这个树形的视图结构。这个视图结构的根节点要求他的孩子节点自我绘制,反过来说,每个viewGroup节点负责让他们的子节点自我绘制。子节点会在父节点哪里请求到尺寸和位置,但父对象会最终决定他们孩子有多大。Android按顺序解析你的布局上的所有元素,从顶端开始,实例化view并且把他们添加到父对象。因为他们都是按顺序被绘制的,如果某些view超出的显示范围,那么后来绘制的将会覆盖原来的。


  关于view结构体系怎样绘制,在后面会有详细的讨论。




  布局


  通常最多的布局是通过xml来定义。xml提供一个容易阅读的结构,很像html。xml中每个元素都是一个view或者viewGroup对象(或他们的子类)。view在树结构中是叶子节点,ViewGroup对象在非叶子节点。


  xml元素名代表着各个类。比如元素会创建一个TextView控件,一个会创建一个LinearLayout的viewGroup,当你加载一个布局资源,Android系统会初始化运行时对象,即对应的布局元素。


  例如,一个简单的垂直布局,里面包含一个textView和一个Button。

?????????

???
??? android:layout_width="fill_parent"

??? android:layout_height="fill_parent"

??? android:orientation="vertical" >

???
??? android:layout_width="wrap_content"

??? android:layout_height="wrap_content"

??? android:text="Hello, I am a TextView" />

???


友情链接: 时尚网 总结汇报 幼儿教育 小学教育 初中学习资料网