UI组件的定义和引用

来源:互联网 发布:防御矩阵 编辑:程序博客网 时间:2024/06/06 01:55

UI组件的定义和引用

  在android应用程序中,ui中的各个组件最终将在activity中呈现,而在这个呈现过程之前,用户首先必须对对其进行定义,包阔属性与布局方式等,然后在程序中实例化并引用,才可以最终显示。

一、UI组件的定义

1.在xml中定义界面元素

   在android中通过xml标记就可以定义该标记对应的视图类或者子类。

   例如:xml中的<Button>,标记,就可以对应一个按钮实例,而这个对应过程可以由android软件自动完成,这样就实现了xml与java代码具有等同的效果。

   这种直接通过xml标记定义界面组件的机制,实现了界面代码与逻辑代码分开的效果。

  
2.在java代码中定义界面元素

   这种方式比较常见,即在代码中通过new语句初始化一个类实例,然后设置其属性,调用其方法(老师上课时就用的时此种方法定义元素)

二、UI组件的引用

   在android平台,对于通过aml文件定义界面元素的方式。组件对象的实例化过程由 android 平台自动完成。但是,android平台没有直接返回对象句柄,那么开发者如何引用这些已经实例化的对象呢?

  在这个问题上,资源打包工具通过分析定义组件在的xml文件来自动生成组件的标识列表,如下所示的id类:

public static final class id{
        public static final int textview01=ox7f050000;
}

   同时也生成了资源标识列表,并将所有的标识封装到资源类R

三、UI组件的属性与id

   在android平台,每一个视图类及其子类由多个xml属性,这些xml属性就是用来定义该类的实例对象的成员内容,一般来说对于组件的xml属性,都有对应的运行时方法。

   组件id是一个特殊的属性,用于区分组成屏幕的视图树中的各个组件,id属性的属性名为“android:id”,其设置属性值的语法为:

   android:id=“@+id/<组件id>”

   其中“@”、“+”、“/”符号是android特有的资源定义符号。“/”为分隔符,“@”字符表示“/”之后的内容是组件的id字符串,“+”字符标示该资源必须创建并添加到资源中。

   在运行时java代码中,该组件的id完整表示为:R.id<组件id>,在xml中进行引用的一般表示为:“@/id/<组件id>”,没有“+字符表示无需创建,仅仅是引用。”

原创粉丝点击