一种页面显示方法和装置与流程

文档序号:18899270发布日期:2019-10-18 21:42阅读:97来源:国知局
一种页面显示方法和装置与流程

本发明涉及android开发技术领域,特别涉及一种页面显示方法和装置。



背景技术:

在应用主界面的底部导航栏bottombar的设计中,动态显示的项目要写到文件layout.xml,并在java文件中去控制和完善显示效果。这样的设计方案使得需要动态显示的项目扩展性差,如果在bottombar中增加或者删除某些项目,需要到活动activity结点或者layout.xml代码中去维护,这样的修改方式不但会增加维护成本,且极容易出现错误。

例如腾讯qq的首页的底部导航栏有“消息”、“联系人”、“动态”三个项目。在一些定制化应用中,可能需要显示不同的项目,如:不需要“联系人”或者“动态”。此外,目前的底部导航栏中的项目,只有在点击的某个项目时才会加载项目内容,假如某些页面加载时需要耗时操作,会给用户不友好的体验。



技术实现要素:

基于本发明的一个目的,本发明提供了一种页面显示方法和装置,以解决页面中的项目动态显示方式不友好,项目的维护成本高的问题。

为达到上述目的,本发明的技术方案是这样实现的:

一方面,本发明提供一种页面显示方法,包括:

预先对需要动态显示的项目的显示模式进行配置,得到项目对应每种应用场景的动态加载模式;

在页面初始化时,根据动态加载模式在配置文件中对项目的活动activity结点进行配置;

将配置文件中配置后的activity结点加载到内存中;

根据选择的动态加载模式从内存中筛选所选择的动态加载模式对应的activity结点;在页面中显示筛选到的activity结点对应的项目。

优选地,根据动态加载模式在配置文件中对项目的活动activity结点进行配置,包括:配置activity结点的意图过滤器intentfilter匹配预先配置的动态加载模式;配置activity结点的排列顺序order和显示图片icon,order指示activity结点的项目在页面中的显示位置,icon指示activity结点的项目在页面中显示的图片。

优选地,配置activity结点的意图过滤器intentfilter匹配预先配置的动态加载模式,包括:在activity结点的intentfilter中,设置预先配置的一种所述动态加载模式。

优选地,将配置文件中配置后的activity结点加载到内存中,包括:利用应用程序管理对象packagemanager将配置后的activity结点加载到内存的预设集合中。

优选地,在页面中显示筛选到的activity结点对应的项目,包括:利用活动群activitygroup的成员变量对象localactivitymanager将筛选到的activity结点进行加载,并根据加载的activity结点设置控件radiogroup的子节点radiobutton;根据设置的radiobutto在页面显示所加载的activity结点对应的项目。

另一方面,本发明提供一种页面显示装置,包括:

显示模式配置单元,用于预先对需要动态显示的项目的显示模式进行配置,得到项目对应每种应用场景的动态加载模式;

activity配置单元,用于在页面初始化时,根据动态加载模式在配置文件中对项目的活动activity结点进行配置;

加载单元,用于将配置文件中配置后的activity结点加载到内存中;

选择单元,用于根据选择的动态加载模式从所述内存中筛选所选择的动态加载模式对应的activity结点;显示单元,用于在页面中显示筛选到的activity结点对应的项目。

优选地,activity配置单元,用于配置activity结点的意图过滤器intentfilter匹配预先配置的所述动态加载模式;以及,配置activity结点的排列顺序order和显示图片icon,order指示activity结点的项目在页面中的显示位置,icon指示activity结点的项目在页面中显示的图片。

优选地,activity配置单元,还用于在activity结点的intentfilter中,设置预先配置的一种动态加载模式。

优选地,加载单元,用于利用应用程序管理对象packagemanager将配置后的activity结点加载到内存的预设集合中。

优选地,显示单元,用于利用活动群activitygroup的成员变量对象localactivitymanager将筛选到的activity结点进行加载,并根据加载的activity结点设置控件radiogroup的子节点radiobutton;根据设置的radiobutto在页面显示所加载的activity结点对应的项目。

本发明的有益效果是:本发明将页面中动态显示的项目的增、删、改逻辑从代码中抽离出来,提取到配置文件中,使activity结点与页面对应的项目的配置可以维护在一个外部文件中,使动态显示的项目逻辑更加清晰,文件之间的耦合度减少,降低维护成本。

附图说明

图1为本发明实施例提供的页面显示方法的流程图;

图2为本发明实施例提供的页面显示装置的结构框图;

图3为本发明实施例提供的页面显示装置的硬件结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

图1为本发明实施例提供的页面显示方法的流程图,如图1所示,本实施例的方法包括:

s110,预先对需要动态显示的项目的显示模式进行配置,得到项目对应每种应用场景的动态加载模式。

本实施例预先根据每种应用场景配置项目相应的动态加载模式,如配置应用app加载模式,默认加载模式,用户自定义加载模式等。

s120,在页面初始化时,根据动态加载模式在配置文件中对项目的活动activity结点进行配置,所述配置文件为根目录配置androidmanifest.xml文件。

本实施例在页面初始时,在配置androidmanifest.xml文件中对每个动态显示的项目的activity结点进行配置,如配置activity结点的意图过滤器intentfilter和元数据metadata,使activity结点对应于一种动态加载模式。

s130,将配置文件中配置后的activity结点加载到内存中。

本市实施例利用应用程序管理对象packagemanager将配置后的activity结点加载到内存的预设集合中,以使后续页面显示activity结点的项目时,项目内容已被加载完成,无需用户耗时等待加载项目内容。

s140,根据选择的动态加载模式从内存中筛选所选择的动态加载模式对应的activity结点。

本实施例在接收到用户选择的动态加载模式后,从内存中筛选所选择的动态加载模式对应的activity结点,即选择支持所选择的动态加载模式的activity结点。

s150,在页面中显示筛选到的activity结点对应的项目。

本实施例将支持所选择的动态加载模式的activity结点的项目,若支持所选择的动态加载模式的activity结点包括“联系人”、“游戏”、“消息”,则将对应于“联系人”、“游戏”、“消息”的项目显示在页面的底部导航栏中。

本实施例将页面中动态显示的项目的增、删、改逻辑从代码中抽离出来,提取到androidmanifest.xml文件中,使activity结点与页面对应的项目的配置可以维护在一个外部文件中,使动态显示的项目逻辑更加清晰,文件之间的耦合度减少,降低维护成本。

在本实施例的一个实现中,通过下述方法配置activity结点:

配置activity结点的intentfilter匹配预先配置的动态加载模式;根据本发明的实施例,在activity结点的intentfilter中,设置预先配置的一种动态加载模式,如设置activity结点的intent-filter为动态加载模式a,该activity结点的项目只有在后续选择了动态加载模式a时才会显示在页面中。

配置activity结点的排列顺序order和显示图片icon,order指示activity结点的项目在页面中的显示位置,icon指示activity结点的项目在页面中显示的图片;根据本发明的实施例,设置meta-data中的order和icon,order和icon分别是页面中控件radiogroup的子节点radiobutton排列顺序和显示的图片。

在页面中显示筛选到的activity结点对应的项目时,利用活动群activitygroup的成员变量对象localactivitymanager将筛选到的activity结点进行加载,并根据加载的activity结点设置控件radiogroup的子节点radiobutton,即根据加载的activity结点中meta-data中的order和icon设置子节点radiobutton的顺序和加载图片,根据设置的radiobutto在页面显示所加载的activity结点对应的项目。

与本发明实施例的页面显示方法相对应的,本发明实施例还提供一种页面显示装置。

图2为本发明实施例提供的页面显示装置的结构框图,如图2所示,本发明实施例的页面显示装置20包括:

显示模式配置单元21,用于预先对需要动态显示的项目的显示模式进行配置,得到项目对应每种应用场景的动态加载模式;

activity配置单元22,用于在页面初始化时,根据动态加载模式在配置文件中对项目的活动activity结点进行配置;

加载单元23,用于将配置文件中配置后的activity结点加载到内存中;

选择单元24,用于根据选择的动态加载模式从内存中筛选所选择的动态加载模式对应的activity结点;显示单元25,用于在页面中显示筛选到的activity结点对应的项目。

根据本发明的实施例,activity配置单元22,用于配置activity结点的意图过滤器intentfilter匹配预先配置的所述动态加载模式;以及,配置activity结点的排列顺序order和显示图片icon,order指示所述activity结点的项目在页面中的显示位置,icon指示所述activity结点的项目在页面中显示的图片。

具体的,activity配置单元22,还用于在activity结点的intentfilter中,设置预先配置的一种所述动态加载模式。

加载单元23,用于利用应用程序管理对象packagemanager将配置后的activity结点加载到内存的预设集合中。

显示单元25,用于利用活动群activitygroup的成员变量对象localactivitymanager将筛选到的activity结点进行加载,并根据加载的activity结点设置控件radiogroup的子节点radiobutton;根据设置的radiobutto在页面显示所加载的activity结点对应的项目。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

本申请提供的页面显示装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,参照图3所示,本申请提供的查询页面显示装置20可包括处理器301、存储有机器可执行指令的机器可读存储介质302。处理器301与机器可读存储介质302可经由系统总线303通信。并且,通过读取并执行机器可读存储介质302中与页面显示逻辑对应的机器可执行指令,处理器301可执行上文描述的页面显示方法。

本申请中提到的机器可读存储介质302可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:ram(radomaccessmemory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。

根据本申请公开的示例,本申请还提供了一种包括机器可执行指令的机器可读存储介质,例如图3中的机器可读存储介质302,所述机器可执行指令可由页面显示装置20中的处理器301执行以实现以上描述的页面显示方法。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。为了便于清楚描述本发明实施例的技术方案,在发明的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分,本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定。

以上所述,仅为本发明的具体实施方式,在本发明的上述教导下,本领域技术人员可以在上述实施例的基础上进行其他的改进或变形。本领域技术人员应该明白,上述的具体描述只是更好的解释本发明的目的,本发明的保护范围应以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1