一种实现控件自适应屏幕的方法和装置与流程

文档序号:13703741阅读:151来源:国知局
技术领域本发明涉及电子设备应用技术领域,特别涉及一种实现控件自适应屏幕的方法和装置。

背景技术:
由于Android系统的开放性,任何用户、开发者、OEM厂商、运营商都可以对Android系统中的软件进行定制,修改成他们想要的样子。目前,随着支持Android系统的终端设备如手机、平板、电视、手表等的增多,同一款Android应用的控件需要适用于这些不同的终端设备,而这些设备的显示屏幕的像素、分辨率等参数差异性较大,如果都用同一种控件尺寸将控件接显示在各种屏幕上,则可能会有控件显示不完整或者显示比例不协调的情况出现,造成同一控件在不同界面上显示不一致。

技术实现要素:
本发明实施例提供了一种实现控件自适应屏幕的方法和装置,以使同一控件在不同界面上显示一致。一种实现控件自适应屏幕的方法,为控件设置屏幕百分比,应用于终端,还包括:获取终端的显示屏幕参数;根据显示屏幕参数和所述设置的控件屏幕百分比,计算所述控件在所述终端中的大小和位置。在本发明一个优选的实施例中,所述计算所述控件在所述终端中的大小,包括:根据下述公式,计算所述控件在所述终端中的大小;H×W=ω1Aα2+β2×ω2Aα2+β2]]>其中,H×W表征以像素为单位的控件大小;ω1表征控件高度百分比;ω2表征控件宽度百分比;A表征控件像素因子;α表征以像素为单位的终端显示屏幕长度;β表征以像素为单位的终端显示屏幕宽度。在本发明一个优选的实施例中,所述计算所述控件在所述终端中的位置,包括:选定相互垂直的两个所述终端的显示屏幕边界作为两个参照物;根据下述公式,计算所述控件到所述两个参照物的外间距;D1=θ1αD2=θ2β其中,D1表征控件到第一参照物的距离;θ1表征控件到第一参照物的百分比;α表征以像素为单位的第一参照物的长度;D2表征控件到第二参照物的距离;θ2表征控件到第二参照物的百分比;β表征以像素为单位的第二参照物的长度。在本发明一个优选的实施例中,上述方法进一步包括:将计算出的所述控件在所述终端中的大小和位置,存储到终端的布局文件;在终端显示所述控件时,控制终端加载并读取所述布局文件,根据所述控件在所述终端中的大小和位置,显示所述控件。在本发明一个优选的实施例中,上述方法应用于android软件。一种实现控件自适应屏幕的装置,应用于终端,包括:设置单元,用于为外设控件设置屏幕百分比;获取单元,用于获取所在终端的显示屏幕参数;计算单元,用于根据所述获取单元获取的显示屏幕参数和所述设置单元设置的控件屏幕百分比,计算所述控件在所述终端中的大小和位置。在本发明一个优选的实施例中,所述计算单元,用于:根据下述公式,计算所述控件在所述终端中的大小;H×W=ω1Aα2+β2×ω2Aα2+β2]]>其中,H×W表征以像素为单位的控件大小;ω1表征控件长度百分比;ω2表征控件宽度百分比;A表征控件像素因子;α表征以像素为单位的终端显示屏幕长度;β表征以像素为单位的终端显示屏幕宽度。在本发明一个优选的实施例中,所述计算单元,用于:选定相互垂直的两个所述终端的显示屏幕边界作为两个参照物;根据下述公式,计算所述控件到所述两个参照物的外间距;D1=θ1αD2=θ2β其中,D1表征控件到第一参照物的距离;θ1表征控件到第一参照物的百分比;α表征以像素为单位的第一参照物的长度;D2表征控件到第二参照物的距离;θ2表征控件到第二参照物的百分比;β表征以像素为单位的第二参照物的长度。在本发明一个优选的实施例中,上书装置进一步包括:存储单元和控制单元,其中,所述存储单元,用于设置布局文件,并将所述计算单元计算出的所述控件在所述终端中的大小和位置,存储到终端的布局文件;所述控制单元,用于在终端显示所述控件时,控制终端加载并读取所述存储单元中的布局文件,根据所述控件在所述终端中的大小和位置,显示所述控件。在本发明一个优选的实施例中,上述装置应用于android软件中,以实现所述android软件中控件自适应屏幕。本发明实施例提供了一种实现控件自适应屏幕的方法和装置,该方法包括:为控件设置屏幕百分比,应用于终端,还包括:获取终端的显示屏幕参数;根据显示屏幕参数和所述设置的控件屏幕百分比,计算所述控件在所述终端中的大小和位置,由于本发明实施例是根据屏幕大小计算出控件大小,而同一控件所占屏幕的百分比是固定的,使得控件相对于屏幕大小来说是固定不变的,实现了同一控件在不同界面上显示一致。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本发明一个实施例提供的一种实现控件自适应屏幕的方法的流程图;图2是本发明另一个实施例提供的一种实现控件自适应屏幕的方法的流程图;图3是本发明一个实施例提供的一种实现控件自适应屏幕的装置所在架构的结构示意图;图4是本发明一个实施例提供的一种实现控件自适应屏幕的装置的结构示意图;具体实施方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。如图1所示,本发明实施例提供了一种实现控件自适应屏幕的方法,应用于终端,该方法可以包括以下步骤:步骤101:为控件设置屏幕百分比;步骤102:获取终端的显示屏幕参数;步骤103:根据显示屏幕参数和设置的控件屏幕百分比,计算控件在终端中的大小和位置。本发明实施例,通过为控件设置屏幕百分比,应用于终端,还包括:获取终端的显示屏幕参数;根据显示屏幕参数和所述设置的控件屏幕百分比,计算所述控件在所述终端中的大小和位置,由于本发明实施例是根据屏幕大小计算出控件大小,而同一控件所占屏幕的百分比是固定的,使得控件相对于屏幕大小来说是固定不变的,实现了同一控件在不同界面上显示一致。在本发明一个实施例中,步骤103的具体实施方式:根据下述公式(1),计算控件在所述终端中的大小;H×W=ω1Aα2+β2×ω2Aα2+β2---(1)]]>其中,H×W表征以像素为单位的控件大小;ω1表征控件长度百分比;ω2表征控件宽度百分比;A表征控件像素因子;α表征以像素为单位的终端显示屏幕长度;β表征以像素为单位的终端显示屏幕宽度。通过上述计算方式能够获取到相对于显示屏幕大小的控件大小,保证控件大小与显示屏幕的像素的一致性。在本发明一个实施例中,步骤103的具体实施方式:选定相互垂直的两个终端的显示屏幕边界作为两个参照物;根据下述公式(2)和公式(3),计算控件到两个参照物的外间距;D1=θ1α(2)D2=θ2β(3)其中,D1表征控件到第一参照物的距离;θ1表征控件到第一参照物的百分比;α表征以像素为单位的第一参照物的长度;D2表征控件到第二参照物的距离;θ2表征控件到第二参照物的百分比;β表征以像素为单位的第二参照物的长度;通过这一过程,固定了组件相对于显示屏幕各个边界的百分比,使得组件的位置相对于显示屏幕边界来说是固定的,保证了组件位置自适应多屏幕。在本发明一个实施例中,上述方法进一步包括:将计算出的控件在终端中的大小和位置,存储到终端的布局文件;在终端显示控件时,控制终端加载并读取布局文件,根据控件在终端中的大小和位置,显示控件,通过预先为终端生成对应的布局文件,终端只需通过读取布局文件即可实现布置控件,有效地提高了控件的布置效率。为使本发明的目的、技术方案和优点更加清楚,下面结合附图及具体实施例对本发明作进一步地详细描述。如图2所示,本发明另一实施例提供了一种实现控件自适应屏幕的方法,应用于终端,该方法可以包括以下步骤:步骤201:为控件设置屏幕百分比;在该步骤中,可以以初始布局文件的形式存储屏幕百分比,那么,用户可以通过修改初始布局文件中屏幕百分比来实现更改控件的大小和位置。对于android软件来说,实现设置控件的屏幕百分比的代码如下所示:在该代码中,设置终端显示屏幕的高度和宽度百分比分别100%h和100%w,另外,代码中的30%w表示屏幕宽度的30%,10%h表示屏幕高度的10%,该代码中的30%w和10%h为变量,用户可以根据自己的需求进行设置。步骤202:获取终端的显示屏幕参数;在该步骤中,可以从终端直接获取终端的显示屏幕参数,例如显示屏幕的分辨率为1280*720等,其中,%100h=1280px;100%w=720px。步骤203:根据显示屏幕参数和设置的控件屏幕百分比,计算控件在终端中的大小和位置;在该步骤中,可以通过控件屏幕百分比乘分辨率,直接计算控件大小,如当显示屏幕的分辨率为1280*720时,30%w和%10h对应的控件大小即为128px×216px。另外,在该步骤中,也可以根据下述公式,计算控件在终端中的大小;L×W=ω1Aα2+β2×ω2Aα2+β2---(1)]]>其中,L×W表征以像素为单位的控件大小;ω1表征控件长度百分比;ω2表征控件宽度百分比;A表征控件像素因子;α表征以像素为单位的终端显示屏幕长度;β表征以像素为单位的终端显示屏幕宽度。通过该公式可以使控件的清晰度得到改善。该步骤中,计算控件在终端中的位置的过程:选定相互垂直的两个所述终端的显示屏幕边界作为两个参照物;根据下述公式,计算控件到所述两个参照物的外间距;D1=θ1α(2)D2=θ2β(3)其中,D1表征控件到第一参照物的距离;θ1表征控件到第一参照物的百分比;α表征以像素为单位的第一参照物的长度;D2表征控件到第二参照物的距离;θ2表征控件到第二参照物的百分比;β表征以像素为单位的第二参照物的长度,实现了通过计算控件到屏幕边界的距离,确定控件的位置。步骤204:将计算出的控件在终端中的大小和位置,存储到终端的布局文件;例如:显示屏幕的分辨率为1280*720,对于android软件来说,通过该步骤形成的布局文件的代码如下所示:通过在布局文件中存储上述代码,使得终端能够通过读取布局文件,直接获取到控件尺寸和位置。步骤205:在终端显示控件时,控制终端加载并读取布局文件,根据控件在终端中的大小和位置,显示控件。如图3、图4所示,本发明实施例提供了一种实现控件自适应屏幕的装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图3所示,为本发明实施例提供的实现控件自适应屏幕的装置所在设备的一种硬件结构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等。以软件实现为例,如图4所示,作为一个逻辑意义上的装置,是通过其所在设备的CPU将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。本实施例提供的实现控件自适应屏幕的装置40,应用于终端,包括:设置单元401,用于为外设控件设置屏幕百分比;获取单元402,用于获取所在终端的显示屏幕参数;计算单元403,用于根据获取单元402获取的显示屏幕参数和设置单元401设置的控件屏幕百分比,计算控件在终端中的大小和位置。在本发明又一个实施例中,计算单元403,用于:根据下述公式(1),计算控件在终端中的大小;H×W=ω1Aα2+β2×ω2Aα2+β2---(1)]]>其中,H×W表征以像素为单位的控件大小;ω1表征控件长度百分比;ω2表征控件宽度百分比;A表征控件像素因子;α表征以像素为单位的终端显示屏幕长度;β表征以像素为单位的终端显示屏幕宽度。在本发明另一实施例中,计算单元,用于:选定相互垂直的两个所述终端的显示屏幕边界作为两个参照物;根据下述公式,计算所述控件到所述两个参照物的外间距;D1=θ1α(2)D2=θ2β(3)其中,D1表征控件到第一参照物的距离;θ1表征控件到第一参照物的百分比;α表征以像素为单位的第一参照物的长度;D2表征控件到第二参照物的距离;θ2表征控件到第二参照物的百分比;β表征以像素为单位的第二参照物的长度。在本发明另一实施例中,上述装置,进一步包括:存储单元和控制单元(图中未示出),其中,存储单元,用于设置布局文件,并将计算单元403计算出的控件在终端中的大小和位置,存储到终端的布局文件;控制单元,用于在终端显示控件时,控制终端加载并读取存储单元中的布局文件,根据控件在终端中的大小和位置,显示控件。在本发明另一实施例中,上述装置应用于android软件中,以实现android软件中控件自适应屏幕。上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。根据上述方案,本发明的各实施例所提供的一种实现控件自适应屏幕的方法和装置,至少具有如下有益效果:1.通过为控件设置屏幕百分比,应用于终端,还包括:获取终端的显示屏幕参数;根据显示屏幕参数和设置的控件屏幕百分比,计算控件在终端中的大小和位置,由于本发明实施例是根据屏幕大小计算出控件大小,而同一控件所占屏幕的百分比是固定的,使得控件相对于屏幕大小来说是固定不变的,实现了同一控件在不同界面上显示一致。2.通过将计算出的控件在终端中的大小和位置,存储到终端的布局文件;在终端显示控件时,控制终端加载并读取布局文件,根据控件在终端中的大小和位置,显示控件,通过预先为终端生成对应的布局文件,终端只需通过读取布局文件即可实现布置控件,有效地提高了控件的布置效率。3.在本发明实施例中,通过显示屏幕参数和设置的控件屏幕百分比,计算控件在终端中的大小和位置,使得控件大小和位置能够根据显示屏幕的大小进行变动,从而使得控件能够应用在不同的显示屏幕上。需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1