第二章 AXF (ActXmlFromFramework) 活动ANDROID页面展现框架 android动态加载页面框架

项目基础框架介绍

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、  装入初始的数据信息,AXFJSON字符串的格式装入初始信息。其中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>标签中提供了一组属性,其中idname的属性是为了开发方便设计的,在AXF中暂时没有启用这两个属性。Passpage页面是本页面的上一个页面,如果为空则没有上一个页面。Nextpage为当前页面的下一个页面。如果当前的页面当中定义了上一页和下一页按钮,那么在按钮事件当中会跳转到相应的页面,这里的属性值为动态XML标签页面的文件名。

    <layout>标签是一个页面的一行,相当于HTML当中的TR标签,在AXF中它会定义页面的标签样式和方位。默认为横向显示。

    <field>标签为AXF的基本页面组件,AXF1.0当中只支持txetradiolabelviewbuttonchoicenumeric这七种组件。后面我会给大家详细介绍这七种组件的用法。

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”,标签中需要展示男、女并赋值为01,默认选中男。那么在属性文件中定义如下:

<AXF006>

        <keyvalue="0"default="true"></key>

        <keyvalue="1"></key>

    </AXF006>

今天就写到这里吧,时间也不早了,希望明天还有时间继续向大家介绍AXF。下周我会整理一个DEMO项目给大家直观的看一下AXF的具体样子。敬请期待。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值