第二章 AXF (ActXmlFromFramework) 活动ANDROID页面展现框架 android动态加载页面框架
2013-08-28 21:26
330 查看
项目基础框架介绍
AXF框架的组成:
1、主页面支持类,也就是ANDROID应用的第一个ACTIVITY。
2、
动态XML标签页面。
3、
AXF主控制类。
4、
属性文件类。
主页面支持类:
每一个ANDROID应用都有一个主ACTIVITY,我们在这个类中主要做以下几件事,1、
决定进入到哪一个页面,也就是下面这个变量 formNumber ,我在示例当中把所有的页面都做了编号,然后按顺序决定到哪个页面,真正的项目当中可以按照包名和文件名来区分跳转的顺序;
extras = new Bundle();
extras.putString("nextpage", "axf" +formNumber.getText().toString());
取得相应的文件名称后将它装入到Bundle的”nextpage”属性中。
2、
设置页面组件可编辑的模式,此变量为布尔值。布尔值为真时,进入到页面后页面组件为不可编辑状态。
extras.putBoolean("isreturn", isreturn);
3、
装入初始的数据信息,AXF以JSON字符串的格式装入初始信息。其中JSON的属性名为页面当中定义的组件名称,两者对应后当页面加载过程中AXF将数据注入到对应的页面组件。
extras.putString("jsons", jsons);
其中特别声明的一点的当JSONS中存在returnfield属性时,它的属性值为页面组件名称,所有出现有这个属性当中的页面组件名称在上面“isreturn”的值为真时,仍然可以编辑。
String jsons = "{returnfield:AXF001|AXF002|AXF003,cardName:中国人}";
经过以上的初始设置后可以转入到AXF主控制类中动态加载页面了。
动态XML标签页面
动态XML标签页面,顾名思义是一个XML文件,AXF支持标准的W3CXML文件格式。首先大家看一个示例文件:<?xmlversion="1.0"encoding="UTF-8"?>
<axf>
<formid="form1"name="actTemplate"passpage=""nextpage="axf2">
<layouttype="layout"layout_width="match_parent"layout_height="match_parent"background="@color/WHILT"orientation="vertical">
<field name="pda_barcode"label="条码" type="text"required="Y" maxLength="50" options="" laWidth=""txWidth="380"
singleLine="true"/> </layout>
</form>
</axf>
这是一个标准的XML文件格式,它出“<axf>”开头和结尾,下面由<form>标签组成。目前做的AXF一个页面当中只支持一个<form>标签。但它支持一个ANDROID页面当中加载多个动态XML标签页面。
首先来介绍一下动态XML标签页面的内部构成。
<form>标签中提供了一组属性,其中id、name的属性是为了开发方便设计的,在AXF中暂时没有启用这两个属性。Passpage页面是本页面的上一个页面,如果为空则没有上一个页面。Nextpage为当前页面的下一个页面。如果当前的页面当中定义了上一页和下一页按钮,那么在按钮事件当中会跳转到相应的页面,这里的属性值为动态XML标签页面的文件名。
<layout>标签是一个页面的一行,相当于HTML当中的TR标签,在AXF中它会定义页面的标签样式和方位。默认为横向显示。
<field>标签为AXF的基本页面组件,AXF1.0当中只支持txet、radio、label、view、button、choice、numeric这七种组件。后面我会给大家详细介绍这七种组件的用法。
AXF主控制类
AXF只有一个主控制类,并且它是用户自定义的。用来加载页面和控制页面的流向并存取页面加载和处理数据。所有页面的所有逻辑都可以通过这个类来实现。直到退出AXF的控制范围。其实主页面支持类的功能也可以由此类来完成。1、 取得AXF主控对象,actxml = new ActXmlActivity(this);
2、 按钮按名称绑定事件,示例中“submit”添加到主控类后,所有页面中所有名称为“submit”的按钮都将被绑定这个事件actxml.addButtListener("submit",
listener);
3、 加载页面,将上个页面的设置内容直接传递给AXF主控类actxml.disPlayForm(bundle);
4、 //加载页面视图, setContentView(actxml.getSv())
5、 加载其它用户自定义的页面组件到当前要跳转的页面中。actxml.setMianView(butt);
属性文件类
属性文件是AXF的页面标签数据文件,指定的属性文件存在项目目录下的assets/diclist.xml,以标准XML格式存储数据,路径为root/list/*来存储。比如页面组件类型为radio,名称为“AXF006”,标签中需要展示男、女并赋值为0、1,默认选中男。那么在属性文件中定义如下:<AXF006>
<keyvalue="0"default="true">男</key>
<keyvalue="1">女</key>
</AXF006>
今天就写到这里吧,时间也不早了,希望明天还有时间继续向大家介绍AXF。下周我会整理一个DEMO项目给大家直观的看一下AXF的具体样子。敬请期待。
相关文章推荐
- 第七章 AXF (ActXmlFromFramework) 活动ANDROID页面展现框架 android动态加载页面框架
- 第六章 AXF (ActXmlFromFramework) 活动ANDROID页面展现框架 android动态加载页面框架
- 第三章 AXF (ActXmlFromFramework) 活动ANDROID页面展现框架 android动态加载页面框架
- 第四章 AXF (ActXmlFromFramework) 活动ANDROID页面展现框架 android动态加载页面框架
- 第五章 AXF (ActXmlFromFramework) 活动ANDROID页面展现框架 android动态加载页面框架
- AXF (ActXmlFromFramework) 活动ANDROID页面展现框架 android动态加载页面框架
- Android在同一个活动中加载两个布局,一个是XML还有个是draw(即自己用画布画的)
- Android动态加载(五)--动态加载框架
- 实战android菜单项之XML加载菜单与动态菜单项
- Android 下拉刷新框架实现、仿新浪微博、QQ好友动态滑到底部自动加载
- android: 静态XML和动态加载XML混合使用,以及重写Layout控件
- Android 使用动态加载框架DL进行插件化开发
- 携程Android App的插件化和动态加载框架
- Android 使用动态加载框架DL进行插件化开发
- 【android动态布局】之【ListView动态加载数据模板(使用xml布局)】
- 360动态加载的Android插件框架
- Android 使用动态加载框架DL进行插件化开发
- Android View 动态加载不同xml布局文件
- 携程Android App的插件化和动态加载框架
- Android 引导页动态加载(多页面 ViewPager联动RadioButton)