WEB开发网
开发学院手机开发Android 开发 Android 用户界面详解 阅读

Android 用户界面详解

 2010-02-22 17:09:00 来源:WEB开发网   
核心提示:Viewgroup类作为一个基类为layout(布局)服务,layout--是一组提供屏幕界面通用类型的完全实现子类,Android 用户界面详解(4),layout让你可以为一组view构建一个结构,一个树形结构的界面在Android平台上,尽管你并不想经常这么做,更多时候你希望你的view自行调整到适应内容大小,你

Viewgroup类作为一个基类为layout(布局)服务,layout--是一组提供屏幕界面通用类型的完全实现子类。layout让你可以为一组view构建一个结构。

一个树形结构的界面

Android平台上,你用view树和viewgroup节点来定义一个Activity的UI,就如同下面图表一样。这个树可以如你需要那样简单或者复杂,并且你可以使用Android的预定义widget和layout或者你自定义的view类型来构建它。

一个view和viewgroup树的样例:

Picture 4 Android UI - Tree structure

要将屏幕绑定一个树以便于渲染,你的Activity调用它的setContentView()方法并且传递一个参数给根节点对象。一旦Android系统获得了根节点的参数,它就可以直接通过节点来无效化,测距和绘制树。当你的Activity被激活并且获得焦点时,系统会通知你的activity并且请求根节点去测距并绘制树,根节点就会请求它的子节点去绘制它们自己,同时,每个树上的viewgroup节点负责绘制它的直接子节点。

正如之前提到的,每个view group都有测量它的有效空间,布局它的子对象,并且调用每个子对象的Draw()方法去绘制它们自己。子对象可能会请求获得一个它们在父对象中的大小和位置,但是父对象对于每个子对象的大小和位置有最终的决定权。

LayoutParams:一个子对象如何指定它的位置和大小

每个viewgroup类都会使用一个继承于Viewgroup.LayoutParams的嵌套类。这个子类包含了一系列的属性类型,这些属性类型定义一个子对象位置和大小,与view group类相适应。

layoutparams的一个样例:

要注意的是,每个LayoutParams子类都有它自己赋值的语法。每个子元素必须定义适用于它们父对象的LayoutParams,尽管父对象可能会为子元素定义不同的LayoutParams。

所有的viewgroup都包括宽和高。很多还包括边界的定义(margin和border)。你可以非常精确地描述宽和高,尽管你并不想经常这么做。更多时候你希望你的view自行调整到适应内容大小,或者适应容器大小。

Android 界面元素与Swing界面元素的比较

Android 界面元素Swing 界面元素

ActivitiesFrame

ViewsComponents

TextViewsLabels

EditTextsTextFields

ButtonsButtons

Android和Swing的监听者设置也几乎一样:

3.2.2 通用布局对象

上一页  1 2 3 4 5 6 7 8  下一页

Tags:Android 用户界面 详解

编辑录入:coldstar [复制链接] [打 印]
赞助商链接