一种用户界面布局方法及系统与流程

文档序号:14747922发布日期:2018-06-22 02:55阅读:153来源:国知局
本发明涉及互联网
技术领域
:,特别涉及一种用户界面布局方法及系统。
背景技术
::Android开发中,我们为了使我们界面美观大方,显的有条理,除了使用漂亮控件,好看的样式。另外还需要布局。只有布局才能将我们的控件组合的有层次,显示的有条理。在Android的开发中,一般常用以下几种布局方式,(LinearLayout、RelativeLayout、TableLayout)。LinearLayout是布局中最简单的一种布局--线性布局。该布局使控件,在水平或垂直方向上显示,通过属性的设置,我们可以使控件垂直或水平显示。下面看一下简单的代码使用。上边代码中使用线性布局,其中红色字体部分是用来表明该布局中控件的显示方向。vertical是表示控件为垂直方向显示。如果想显示为水平方向,只需要将属性值改为horizontal即可。RelativeLayout布局是相对布局。也就说,使控件处于容器中一个相对的位置。也就说,我们在定义控件的坐标时,不会明确指出坐标的位置,而是,给该控件指定一个参照物,并标明,相对于参照物来说,控件在什么位置。Tablelayout表格布局,与我们web页面中的table很像。每一行都有<tablerow>开始,</tablerow>结束。其中每个控件占据一列的位置。也可以在控件中定义layout_span属性来合并列。在实际的开发中往往一种布局满足不了我们的需求,可能会几种布局合作来达到我们的想要的效果。上述布局方式都是预先通过代码或者在软件发行包APK(AndroidPackage,即Android安装包)的Layout目录下通过XML布局文件中定义好各个界面的布局方式然后通过代码引用显示之,layout目录的内容在APK软件包发行后是无法修改的,也就是有多少个布局方式就要预先定义好多个布局文件,对于想要根据用户意愿来动态变动布局的情况在传统方式下是难以实现。布局确定以后如果发现在某种显示设备的显示界面效果不好或对布局效果不满意,只能是通过开发人员再次去修改相关的代码以适应。现有技术中,软件使用者不能够再改变显示设备的显示界面上控件的个数、位置和大小,无法参与到显示界面的定义中去。由于需要定义显示界面的布局方式是不确定的,需要根据具体显示内容的情况再确定界面的布局方式。通常,需要根据显示终端设备配备屏幕参数的不同和需要展示的内容的不同编排节目内容,现有的布局管理器都无法很好的满足需求,无法根据需要显示的内容和设备终端的屏幕属性来动态布局和动态管理。技术实现要素:本发明提供一种用户界面布局方法及系统,用以解决现有技术中用户界面布局无法实现动态布局的问题。一种用户界面布局方法,包括如下步骤:根据显示终端的显示单元的属性对显示单元进行区域划分,生成布局配置文件,并将所述布局配置文件发送至显示终端;所述显示终端对所述布局配置文件进行解析,并对解析得到的数据进行封装处理;所述显示终端对封装后的所述数据进行再次解析,获得布局界面;所述显示终端对所述布局界面进行显示。所述方法还包括:根据获取的显示单元的属性,将显示单元划分为至少两个显示区域,不同的显示区域对应于不同的控件;所述不同的显示区域分别用于显示不同的内容。所述方法还包括:在所述对布局配置文件进行解析后,根据解析出的布局配置文件的内容,向存储服务器获取对应的素材内容。所述方法还包括:开启控件相关线程,进入事件处理和监理状态;当控件数量和/或现有控件的布局发生变化时,调整或生成新的布局界面。所述方法还包括:判断是否有添加新控件,是则获取新控件的布局参数,通过布局管理器在显示单元上对布局界面进行调整;判断是否现有控件的布局发生变化,是则获取变化后现有控件的布局参数,在显示单元上,重新生成布局界面;判断是否删除现有控件,是则释放被删除控件的资源,并通过布局管理器在显示单元上对布局界面进行调整;判断是否删除现有控件且有新控件加入,是则根据所删除的现有控件的布局参数,选择将新控件对应加入所删除的现有控件相关的显示区域中。一种用户界面布局系统,包括:属性获取单元,用于获取显示单元的属性;区域划分单元,用于对所述显示单元进行区域划分,并生成布局配置文件,将所述布局配置文件发送至所述显示单元;解析单元,用于对所述布局配置文件进行解析;封装处理单元,用于将从布局配置文件中解析到的数据进行封装处理;布局管理单元,用于对封装后的数据进行再次解析,获得布局界面;显示单元,用于对所述布局界面进行显示。所述系统还包括控件配置单元,所述控件配置单元用于根据所述区域划分单元对所述显示单元的区域划分情况,对所划分完成的各个区域进行控件配置。所述系统还包括:存储单元,用于存储素材内容;信息处理单元,用于根据所述解析单元所解析的数据信息获取与所述布局配置文件相对应的素材内容,并将所获取的素材内容发送给所述显示终端。所述系统还包括监控管理单元,所述监控管理单元用于实时对所述布局界面进行监控和调整,在控件数量和/或现有控件的布局发生变化时,调整或生成新的布局界面。所述系统还包括:当有新控件加入时,所述布局管理单元根据所述监控管理单元所获取的新控件布局参数,在所述显示单元中调整布局界面;当现有控件的布局发生变化时,所述布局管理单元根据所述区域划分模块生成变化后的布局配置文件,在所述显示单元中重新生成布局界面;当删除现有控件时,所述布局管理单元根据所述监控管理单元所提供的被删除的控件布局参数,在所述显示单元中调整布局界面;判断是否删除现有控件且有新控件加入,是则根据所删除的现有控件的布局参数,选择将新控件对应加入所删除的现有控件相关的显示区域中。本发明实施例中,根据显示终端的显示单元的属性对显示单元进行区域划分,生成布局配置文件,并将所述布局配置文件发送至显示终端;所述显示终端对所述布局配置文件进行解析,并对解析得到的数据进行封装处理;所述显示终端对封装后的所述数据进行再次解析,获得布局界面;所述显示终端对所述布局界面进行显示。通过动态布局的方法对不同显示终端的显示内容形成不同的布局,在同一显示终端能根据显示内容的不同,能动态改变显示界面上控件的个数、位置和大小,可以根据显示终端设备配置屏幕参数和展示内容编排不同节目内容,满足了用户对显示效果的需求,管理方便有效。本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。附图说明附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:图1为本发明实施例1提供的一种用户界面布局方法原理流程图;图2为本发明实施例2提供的一种用户界面布局系统结构示意图。具体实施方式以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。如图1所示,为本发明实施例1提供的一种用户界面布局方法原理流程图,其中,步骤11,根据显示终端的显示单元的属性对显示单元进行区域划分,生成布局配置文件,并将所述布局配置文件发送至显示终端。通常,具体的布局需要一个远程的平台来进行。为了使布局能在显示单元上显示,布局就必须要根据显示单元的情况进行,需要获取显示单元的各种属性,基本属性包括如显示单元的分辨率、显示高度和宽度、宽高比例、横竖屏和名称等信息。根据获取的显示单元的属性,将显示单元划分为多个不同的显示区域,使不同的显示区域对应于不同的控件,不同的控件中分别用于显示不同的内容。划分区域的过程可以是:原点在左上角,横轴为X坐标点,竖轴Y坐标点,坐标点的大小对应显示单元像素点,先在显示单元拽出一个矩形框,在显示单元上调整矩形框大小、坐标和宽高,选择矩形框区域需要放置的控件类型,控件是指单独完成特定功能的一个模块,例如视频控件就是指配置完播放列表和播放模式后就能不受其他控件影响的输出视频到指定的显示单元区域,然后配置控件的显示层次和需要的额外属性。重复上述动作,直到完成划分。确认后会将区域划分情况生成布局配置文件保存,布局配置文件包括INI配置文件和XML配置文件。如果在本显示终端进行划分会生成XML配置文件,反之如果远程对显示单元进行划分则会生成INI配置文件或XML配置文件。步骤12,显示终端对所述布局配置文件进行解析,并对解析得到的数据进行封装处理。该步骤中,如果不需要显示素材内容,则可以不选择向存储服务器获取对应的素材内容。例如,可以通过对布局配置文件的解析,重新获得显示单元上控件的信息。具体地,在对素材内容进行获取时,可以采用定时的方式进行自动获取,也可以人工的选择获取。显示终端将从布局配置文件中解析到的数据进行封装处理,把布局配置文件中的文体信息内容封装成Java布局类对象,这个过程的本质就是把布局配置文件中的文本信息封装为java语言中的信息,这个对象中将会保存不同控件的个数,每个控件的位置、大小和额外信息。在本发明的其它实施例中,所封装的布局类对象也可以由其它编程语言实现。步骤13,显示终端对封装后的所述数据进行再次解析,获得布局界面。在本发明的实施例中,在Java布局类对象封装完毕后,用Absolutely布局类型赋值于布局管理器LayoutManger,根据控件名称、显示的层次、控件的坐标点、控件宽高和控件的额外信息向显示单元装载各个控件,所有的控件经过布局管理器的装载后调用系统接口将各个控件展示出来的界面显示到显示单元上。为了丰富显示内容和更加丰富的显示效果,控件可以叠加显示,比如时间的显示就可以叠加显示在任何一个区域,一般的,显示在最下层的控件先装载到布局管理器,或者通过系统提供的setZOrderOnTop方法控制窗口的显示层次,所有的设置项设置完成后启动相应的线程来监控各个不同类型的控件的正常工作。步骤14,显示终端对所述布局界面进行显示。对于在显示单元上的布局,显示单元上不同的控件正常显示内容,如果在某一时刻需要添加一个控件来丰富显示内容和效果,就需要在先调整现有控件的显示区域的大小或对现有控件删除,然后划分出一个新控件的显示区域。调整原有的布局首先需要获取原有控件的布局参数对象,然后给这个控件的布局参数对象重新赋值坐标值和宽高,最后再把布局参数重新赋值给控件。在本发明的一个较佳实施例中,所添加的控件可以是临时的控件,其可以覆盖于现有控件之上进行显示,对应则不用再次执行对现有控件进行删除以及区域划分等各种已完成的处理动作。进一步的,本实施例中,在布局完成后,此时开启控件相关线程,进入事件处理和监理状态;当控件数量和/或现有控件的布局发生变化时,调整或生成新的布局界面。判断是否有添加新控件,是则获取新控件的布局参数,通过布局管理器在显示单元上对布局界面进行调整;在调整的过程中,根据原有布局界面的情况,自适应对新添加的控件进行显示。判断是否现有控件的布局发生变化,是则获取变化后现有控件的布局参数,在显示单元上,重新生成布局界面;此示例中,应当理解为现有控件的数量并未发生变化,但是其所对应的显示区域发生一定的变化时,则需要根据变化后的布局参数,重新生成布局界面。判断是否删除现有控件,是则释放被删除控件的资源,并通过布局管理器在显示单元上对布局界面进行调整。在此示例中,由于现有控件的数量发生变化,并且无其他新控件加入的时候,则将选择删除的控件资源进行释放,在该过程中并不影响到其它现有控件在显示单元上的显示。当删除现有控件且有新控件进行加入的时候,则可以根据所删除的现有控件的布局参数,选择将新控件对应加入所删除的现有控件相关的显示区域中。也可以按照上述其它示例中所描述的情况进行调整。通过本实施例所提供的动态布局方法,管理人员可以根据显示终端设备配置屏幕参数和展示内容编排不同节目内容,满足了用户对显示效果的需求,进一步地,还可以根据需要显示的内容和设备终端的屏幕属性来动态布局和动态管理,管理方便有效。如图2所示,为本发明实施例2提供的用户界面布局系统,包括:属性获取单元201,用于获取显示单元206的属性;区域划分单元202,用于对所述显示单元206进行区域划分,并生成布局配置文件,将所述布局配置文件发送至显示单元206;解析单元203,用于对所述布局配置文件进行解析;封装处理单元204,用于将从布局配置文件中解析到的数据进行封装处理;布局管理单元205,用于对封装后的数据进行再次解析,获得布局界面;显示单元206,用于对所述布局界面进行显示。具体如下:属性获取单元201,用于获取显示终端的显示单元206的属性;显示单元206的属性具体包括显示单元的高度、宽度和宽高比例等属性信息;用于获取显示终端在接入到远程管理平台注册时,显示终端向远程管理平台提交的每个显示单元206的属性信息。区域划分单元202,用于对显示单元206进行区域划分,并生成布局配置文件,将布局配置文件发送至显示单元206;具体地,根据获取的显示单元206的属性,将显示单元206划分为多个不同的显示区域,使不同的显示区域对应于不同的控件,不同的控件中分别用于显示不同的内容;针对每个显示终端的显示单元206属性,进行合理的布局,首先根据显示终端的显示单元206属性在远程管理平台上及建立一个模拟区域,对应于显示终端的显示单元206,参照上述实施例的区域划分步骤,在模拟区域内进行区域划分,直到布局完成,生成布局配置文件,可以为INI配置文件或者XML配置文件中的一种。将布局配置文件发送至显示终端包括,远程管理平台提交了显示布局确认命令后,布局配置文件会通过网络发送到显示终端,显示终端接收后会把布局配置文件存放于本地,这个过程可能不只是一个布局配置文件,如果是多个,显示终端会根据业务需求解析对应的布局配置文件。解析单元203,用于对布局配置文件进行解析,根据解析出的内容,在需要时向存储服务器获取对应的素材内容;具体地,解析单元203对该布局配置文件进行解析,得到需要的素材内容并向存储服务器进行获取,在存储服务器中存储单元保存有所需的全部素材内容,在本实施例中,在对素材内容进行获取的时候可以采用定时的方式进行自动获取,也可以人为的选择获取。封装处理单元204,用于将从布局配置文件中解析到的数据进行封装处理;具体地,把布局配置文件中的内容封装成为java布局类对象,这个过程的本质就是把布局配置文件中的文本信息封装为java语言中的信息,这个对象中将会保存不同控件的个数,每个控件的位置、大小和额外信息。在本发明的其它实施例中,所封装的布局类对象也可以由其它编程语言实现。布局管理单元205,用于对封装后的数据进行解析,获得布局界面。在本发明的实施例中,具体地,在Java布局类对象封装完毕后,用Absolutely布局类型赋值于布局管理器LayoutManger,根据控件名称、显示的层次、控件的坐标点、控件宽高和控件的额外信息向显示单元装载各个控件,所有的控件经过布局管理单元205的装载后调用系统接口将各个控件展示出来的界面显示到显示终端的显示单元206上。显示单元206,用于对布局界面进行显示。特别的,上述系统还包括控制配置单元207,用于根据区域划分单元202对显示单元206的区域划分情况,对所划分完成的各个区域进行控件配置。监控管理单元208,用于实时对布局界面进行监控和调整,在控件数量和/或现有控件的布局发生变化时,调整或生成新的布局界面。具体地,当有新控件加入时,布局管理单元205根据监控管理单元208所获取的新控件布局参数,在显示单元206中调整布局界面;在调整的过程中,根据原有布局界面的情况,自适应对新添加的控件进行显示。当现有控件的布局发生变化时,布局管理单元205根据区域划分模块202生成变化后的布局配置文件,在显示单元206中重新生成布局界面;当删除现有控件时,布局管理单元205根据监控管理单元208所提供的被删除的控件布局参数,在显示单元206中调整布局界面。特别的,上述系统还包括:存储单元209,用于存储布局配置文件解析内容对应的素材内容;信息处理单元210,用于根据解析单元203所解析的数据信息获取与布局配置文件相对应的素材内容,并将所获取的素材内容发送给显示终端。在本发明的另外一个实施例中,存储服务器也可以设置于远程管理平台中。综上所述,本发明实施例中,根据显示终端的显示单元的属性对显示单元进行区域划分,生成布局配置文件,并将所述布局配置文件发送至显示终端;所述显示终端对所述布局配置文件进行解析,并对解析得到的数据进行封装处理;所述显示终端对封装后的所述数据进行再次解析,获得布局界面;所述显示终端对所述布局界面进行显示。通过动态布局的方法对不同显示终端的显示内容形成不同的布局,在同一显示终端能根据显示内容的不同,能动态改变显示界面上控件的个数、位置和大小,可以根据显示终端设备配置屏幕参数和展示内容编排不同节目内容,满足了用户对显示效果的需求,管理方便有效。本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1