CN105960631A - 一种在安卓设备上进行图标排布的方法及装置 - Google Patents

一种在安卓设备上进行图标排布的方法及装置 Download PDF

Info

Publication number
CN105960631A
CN105960631A CN201580006079.1A CN201580006079A CN105960631A CN 105960631 A CN105960631 A CN 105960631A CN 201580006079 A CN201580006079 A CN 201580006079A CN 105960631 A CN105960631 A CN 105960631A
Authority
CN
China
Prior art keywords
icon
color component
color
degree
array
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201580006079.1A
Other languages
English (en)
Other versions
CN105960631B (zh
Inventor
谢峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qihoo Technology Co Ltd
Original Assignee
Shanghai Euler Network Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Euler Network Technology Co Ltd filed Critical Shanghai Euler Network Technology Co Ltd
Publication of CN105960631A publication Critical patent/CN105960631A/zh
Application granted granted Critical
Publication of CN105960631B publication Critical patent/CN105960631B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0486Drag-and-drop

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

一种在安卓设备上进行图标排布的方法及装置,方法包括:判断在安卓设备的应用界面上指定区域是否有手势(S01),如是,加载三屏图标的数据结构(S02);否则,继续判断;根据三屏图标的数据结构,分别为每个图标增加背板,并使背板的颜色与图标的颜色相匹配(S03);根据图标所在屏、初始位置以及跟随手势滑动过的角度,分别计算出每个屏中每个图标的当前角度(S04);根据每个图标的当前角度,分别获取每个图标的位置、大小和透明度(S05);在安卓设备的应用界面上开启一个面板,并在面板上显示每个图标(S06);面板包括三个子面板,每个子面板分别填充不同类型的图标。实施本方案在安卓设备上进行图标排布的方法及装置,具有以下有益效果:屏幕的空间利用率较高、能在有限的面积内展示多个图标。

Description

一种在安卓设备上进行图标排布的方法及装置
技术领域
本发明涉及图标排布领域,特别涉及一种在安卓设备上进行图标排布的方法及装置。
背景技术
人们在使用安卓设备时,通常都有在安卓设备上实现“找应用”的需求,现有的做法就是把应用放到桌面上,按照m*n的格子对应用进行排布。这样就会存在如下问题:占用屏幕面积大、屏幕空间利用率不高。另外,当用户需要查找更多的应用时,过多的应用就需要占用更多的屏幕面积,给用户的体验造成影响,同时在有限的屏幕上放置过多的应用,也就是其不能有效的在有限的面积内展示多个图标,由于现有技术中没有有效的图标排布方式,其不仅影响外观,同时也给用户在查找应用图标时也造成不便。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述屏幕的空间利用率不高、不能在有限的面积内展示多个图标的缺陷,提供一种屏幕的空间利用率较高、能在有限的面积内展示多个图标的在安卓设备上进行图标排布的方法及装置。
本发明解决其技术问题所采用的技术方案是:构造一种在安卓设备上进行图标排布的方法,包括如下步骤:
A)判断在所述安卓设备的应用界面上的指定区域是否有手势,如是,执行步骤B);否则,继续进行本步骤的判断;
B)加载三屏图标的数据结构;
C)根据所述三屏图标的数据结构,分别为每个图标增加相应的背板,并使所述背板的颜色与所述图标的颜色相匹配;
D)根据所述图标所在屏、初始位置以及跟随所述手势滑动过的角度,分别计算出每个屏中每个所述图标的当前角度;
E)根据每个所述图标的当前角度,分别获取每个所述图标的位置、大小和透明度;
F)在所述安卓设备的应用界面上开启一个面板,并在所述面板上显示每个所述图标;所述面板包括三个子面板,每个子面板分别填充不同类型的图标。
在本发明所述的在安卓设备上进行图标排布的方法中,所述步骤C)进一步包括:
C1)创建最多像素点色值计数数组和平均颜色值数组;所述最多像素点色值计数数组包括R颜色分量最大像素点色值计数数组、G颜色分量最大像素点色值计数数组和B颜色分量最大像素点色值计数数组,所述平均颜色值数组包括R颜色分量值、G颜色分量值和B颜色分量值;
C2)加载应用的图标,对所述图标不同区域的像素点使用不同的采样率进行采样;
C3)遍历每个抽样像素点,分别取得每个所述抽样像素点的R颜色分量、G颜色分量和B颜色分量,使所述最多像素点色值计数数组中的R颜色分量最大像素点色值计数数组、G颜色分量最大像素点色值计数数组和B颜色分量最大像素值计数数组的计数分别加1,并使所述平均颜色值数组中的R颜色分量数组、G颜色分量数组和B颜色分量数组分别与每个抽样像素点的R颜色分量、G颜色分量和B颜色分量进行叠加;
C4)使所述平均颜色值数组中的叠加后的R颜色分量值、G颜色分量值和B颜色分量值分别除以所述抽样像素点的个数,分别得到R颜色分量平均值、G颜色分量平均值和B颜色分量平均值;
C5)分别计算所述最多像素点色值计数数组中的R颜色分量最大像素点色值、G颜色分量最大像素点色值和B颜色分量最大像素点色值;
C6)判断所述最多像素点色值计数数组是否存在其像素点个数大于设定个数的色值,如是,执行步骤C7);否则,将所述R颜色分量平均值、G颜色分量平均值和B颜色分量平均值的组合作为所述背板的颜色;
C7)将所述平均颜色值数组中的R颜色分量平均值、G颜色分量平均值和B颜色分量平均值转换到HSV颜色空间,将所述最多像素点色值计数数组中的R颜色分量最大像素点色值、G颜色分量最大像素点色值和B颜色分量最大像素点色值转换到HSV颜色空间;
C8)判断所述平均颜色值数组的H颜色分量与所述最多像素点色值计数数组的H颜色分量的差值是否小于阈值,如是,将所述R颜色分量最大像素点色值、G颜色分量最大像素点色值和B颜色分量最大像素点色值的组合作为所述背板的颜色;否则,将所述R颜色分量平均值、G颜色分量平均值和B颜色分量平均值的组合作为所述背板的颜色。
在本发明所述的在安卓设备上进行图标排布的方法中,所述步骤D)进一步包括:
D1)初始化角度为10800度;
D2)开始手势滑动时,记录所述手势滑过的角度,当所述手势顺时针滑动时,图标的当前整体角度增加,当所述手势逆时针滑动时,所述图标的当前整体角度减小,所述图标的当前整体角度为:degree=(degree+10800)%10800,其中,degree为图标的当前整体角度;
D3)根据所述图标的当前整体角度,得到所述图标的整体布局的相位为phase=degree%270,其中,phase为图标的整体布局的相位,degree为图标的当前整体角度;
D4)根据事先设定的关键帧属性,由所述图标的整体布局的相位得到所述图标的当前角度。
在本发明所述的在安卓设备上进行图标排布的方法中,所述步骤E)进一步包括:
E1)根据所述图标的当前角度,计算得到所述图标的坐标位置;
E2)判断所述图标的当前角度是否大于90度,如是,对所述图标的坐标位置不做矫正;否则,执行步骤E3);
E3)判断所述图标的当前角度是否位于0度到90度之间,如是,计算所述图标的当前角度与45度之间的差值,并根据所述差值计算所述图标的坐标位置的偏移量,并使所述图标的坐标位置按照计算出的所述偏移量进行偏移;否则,执行步骤E4);
E4)判断所述图标的当前角度是否等于0度,如是,将所述图标的坐标位置按照第一设定偏移量进行偏移;否则,执行步骤E5);
E5)判断所述图标的当前角度是否等于90度,如是,将所述图标的坐标位置按照第二设定偏移量进行偏移;否则,对所述图标的坐标位置不做矫正;还包括:
E2')判断所述图标的当前角度是否大于90度,如是,对所述图标的大小不做矫正;否则,执行步骤E3');
E3')判断所述图标的当前角度是否位于0度到90度之间,如是,将所述图标所在的屏划分为第一区域、第二区域和第三区域,并分别设定所述第一区域、第二区域和第三区域的角度阈值,以及所述第二区域和第三区域的缩放比例,并将位于对应区域的图标进行相应缩放;否则,对所述图标的大小不做矫正。
在本发明所述的在安卓设备上进行图标排布的方法中,所述设定个数为抽样像素点总数的40%,所述阈值为5。
本发明还涉及一种实现上述在安卓设备上进行图标排布的方法的装置,包括:
手势动作判断单元:用于判断在所述安卓设备的应用界面上的指定区域是否有手势;
数据结构加载单元:用于加载三屏图标的数据结构;
背板图标匹配单元:用于根据所述三屏图标的数据结构,分别为每个图标增加相应的背板,并使所述背板的颜色与所述图标的颜色相匹配;
图标当前角度计算单元:用于根据所述图标所在屏、初始位置以及跟随所述手势滑动过的角度,分别计算出每个屏中每个所述图标的当前角度;
位置大小透明度计算单元:用于根据每个所述图标的当前角度,分别获取每个所述图标的位置、大小和透明度;
面板开启显示单元:用于在所述安卓设备的应用界面上开启一个面板,并在所述面板上显示每个所述图标;所述面板包括三个子面板,每个子面板分别填充不同类型的图标。
在本发明所述的装置中,所述背板图标匹配单元进一步包括:
数组创建模块:用于创建最多像素点色值计数数组和平均颜色值数组;所述最多像素点色值计数数组包括R颜色分量最大像素点色值计数数组、G颜色分量最大像素点色值计数数组和B颜色分量最大像素点色值计数数组,所述平均颜色值数组包括R颜色分量值、G颜色分量值和B颜色分量值;
加载采样模块:用于加载应用的图标,对所述图标不同区域的像素点使用不同的采样率进行采样;
像素点遍历模块:用于遍历每个抽样像素点,分别取得每个所述抽样像素点的R颜色分量、G颜色分量和B颜色分量,使所述最多像素点色值计数数组中的R颜色分量最大像素点色值计数数组、G颜色分量最大像素点色值计数数组和B颜色分量最大像素值计数数组的计数分别加1,并使所述平均颜色值数组中的R颜色分量数组、G颜色分量数组和B颜色分量数组分别与每个抽样像素点的R颜色分量、G颜色分量和B颜色分量进行叠加;
分量平均值计算模块:用于使所述平均颜色值数组中的叠加后的R颜色分量值、G颜色分量值和B颜色分量值分别除以所述抽样像素点的个数,分别得到R颜色分量平均值、G颜色分量平均值和B颜色分量平均值;
最大像素点色值计算模块:用于分别计算所述最多像素点色值计数数组中的R颜色分量最大像素点色值、G颜色分量最大像素点色值和B颜色分量最大像素点色值;
色值判断模块:用于判断所述最多像素点色值计数数组是否存在其像素点个数大于设定个数的色值,如是,对所述平均颜色值数组和最多像素点色值计数数组进行颜色空间的转换;否则,将所述R颜色分量平均值、G颜色分量平均值和B颜色分量平均值的组合作为所述背板的颜色;
颜色空间转换模块:用于将所述平均颜色值数组中的R颜色分量平均值、G颜色分量平均值和B颜色分量平均值转换到HSV颜色空间,将所述最多像素点色值计数数组中的R颜色分量最大像素点色值、G颜色分量最大像素点色值和B颜色分量最大像素点色值转换到HSV颜色空间;
差值判断模块:用于判断所述平均颜色值数组的H颜色分量与所述最多像素点色值计数数组的H颜色分量的差值是否小于阈值,如是,将所述R颜色分量最大像素点色值、G颜色分量最大像素点色值和B颜色分量最大像素点色值的组合作为所述背板的颜色;否则,将所述R颜色分量平均值、G颜色分量平均值和B颜色分量平均值的组合作为所述背板的颜色。
在本发明所述的装置中,所述图标当前角度计算单元进一步包括:
初始化模块:用于初始化角度为10800度;
图标当前整体角度计算模块:用于开始手势滑动时,记录所述手势滑过的角度,当所述手势顺时针滑动时,图标的当前整体角度增加,当所述手势逆时针滑动时,所述图标的当前整体角度减小,所述图标的当前整体角度为:degree=(degree+10800)%10800,其中,degree为图标的当前整体角度;
整体布局相位计算模块:用于根据所述图标的当前整体角度,得到所述图标的整体布局的相位为phase=degree%270,其中,phase为图标的整体布局的相位,degree为图标的当前整体角度;
图标当前角度获取模块:用于根据事先设定的关键帧属性,由所述图标的整体布局的相位得到所述图标的当前角度。
在本发明所述的装置中,所述位置大小透明度计算单元进一步包括:
图标坐标位置计算模块:用于根据所述图标的当前角度,计算得到所述图标的坐标位置;
第一图标当前角度判断模块:用于判断所述图标的当前角度是否大于90度,如是,对所述图标的坐标位置不做矫正;否则,继续判断所述图标的当前角度的大小;
第二图标当前角度判断模块:用于判断所述图标的当前角度是否位于0度到90度之间,如是,计算所述图标的当前角度与45度之间的差值,并根据所述差值计算所述图标的坐标位置的偏移量,并使所述图标的坐标位置按照计算出的所述偏移量进行偏移;否则,继续判断所述图标的当前角度的大小;
第三图标当前角度判断模块:用于判断所述图标的当前角度是否等于0度,如是,将所述图标的坐标位置按照第一设定偏移量进行偏移;否则,继续判断所述图标的当前角度的大小;
第四图标当前角度判断模块:用于判断所述图标的当前角度是否等于90度,如是,将所述图标的坐标位置按照第二设定偏移量进行偏移;否则,对所述图标的坐标位置不做矫正;还包括:
第五图标当前角度判断模块:用于判断所述图标的当前角度是否大于90度,如是,对所述图标的大小不做矫正;否则,继续判断所述图标的当前角度的大小;
第六图标当前角度判断模块:用于判断所述图标的当前角度是否位于0度到90度之间,如是,将所述图标所在的屏划分为第一区域、第二区域和第三区域,并分别设定所述第一区域、第二区域和第三区域的角度阈值,以及所述第二区域和第三区域的缩放比例,并将位于对应区域的图标进行相应缩放;否则,对所述图标的大小不做矫正。
在本发明所述的装置中,所述设定个数为抽样像素点总数的40%,所述阈值为5。
实施本发明的在安卓设备上进行图标排布的方法及装置,具有以下有益效果:由于根据每个图标的当前角度,可以分别获取每个图标的位置、大小和透明度;也就是图标的大小是可变的,在安卓设备的应用界面上开启的面板可以显示每个图标;且该面板包括三个子面板,每个子面板分别填充不同类型的图标,这样就可以对图标进行有效的排布,所以屏幕的空间利用率较高、能在有限的面积内展示多个图标。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明在安卓设备上进行图标排布的方法及装置一个实施例中方法的流程图;
图2为所述实施例中根据三屏图标的数据结构,分别为每个图标增加相应的背板,并使背板的颜色与图标的颜色相匹配的具体流程图;
图3为所述实施例中根据图标所在屏、初始位置以及跟随手势滑动过的角度,分别计算出每个屏中每个图标的当前角度的具体流程图;
图4为所述实施例中每屏图标的排列顺序图;
图5为所述实施例中三屏图标的布局图;
图6为所述实施例中根据每个图标的当前角度,分别获取每个图标的位置、大小和透明度的具体流程图;
图7为所述实施例中每屏划分成三个区域的示意图;
图8为所述实施例中装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明在安卓设备上进行图标排布的方法及装置实施例中,其在安卓设备上进行图标排布的方法的流程图如图1所示。图1中,该在安卓设备上进行图标排布的方法包括如下步骤:
步骤S01判断在安卓设备的应用界面上的指定区域是否有手势:本步骤中,首先进入安卓设备的应用界面,然后判断在安卓设备的应用界面上的指定区域是否有手势滑动,指定区域是事先设定的,例如:指定区域可以是应用界面的右下角,本步骤中,如果判断的结果为是,则执行步骤S02;否则,继续进行本步骤的判断。
步骤S02加载三屏图标的数据结构:如果上述步骤S01的判断结果为是,则执行本步骤。本步骤中,加载三屏图标的数据结构。上述三屏包括当前屏、上一屏和下一屏,每一屏上都有对应要显示的图标。执行完本步骤,执行步骤S03。
步骤S03根据三屏图标的数据结构,分别为每个图标增加相应的背板,并使背板的颜色与图标的颜色相匹配:本步骤中,根据三屏图标的数据结构,分别为每个图标增加相应的背板,并使背板的颜色与图标的颜色相匹配,值得一提的是,为颜色、形状各异的图标(应用图标)加上彩色背板,这样就会看上去整齐,且与原图标颜色统一。
步骤S04根据图标所在屏、初始位置以及跟随手势滑动过的角度,分别计算出每个屏中每个图标的当前角度:本步骤中,根据图标所在屏(当前屏、上一屏或下一屏)、初始位置以及跟随手势滑动过的角度,分别计算出每个屏中每个图标的当前角度。
步骤S05根据每个图标的当前角度,分别获取每个图标的位置、大小和透明度:本步骤中,根据每个图标的当前角度,分别获取每个图标的位置、大小和透明度,由于每个图标的大小和位置是可以根据具体情况进行调整的,这样就可以根据实际情况对图标进行有效排布。
步骤S06在安卓设备的应用界面上开启一个面板,并在面板上显示每个图标:本步骤中,在安卓设备的应用界面上开启一个面板,并在面板上显示每个图标,也就是在面板上可以显示类似大小错落的图标,上述面板包括三个子面板,每个子面板分别填充不同类型的图标,当在面板上进行手势滑动操作时,每滑动90度,切换到下一个子面板(上一屏或下一屏)。本实施例中,每屏可以显示13个图标,三屏共有39个图标,本发明需要在同一时刻缓存39个图标及其对应的数据结构,因此可能会占据较大内存,在一些配置比较差的设备上可能会导致滑屏效率不佳。但这样可以对图标进行有效的排布,所以屏幕的空间利用率较高、能在有限的面积内展示多个图标。
对于本实施例而言,上述步骤S03还可进一步细化,其细化后的流程图如图2所示。本实施例中,为了使背板的颜色与图标的颜色相匹配,本实施例会在内存中加载应用的原图标位图,然后逐像素分析,找出和图标像素最接近的RGB颜色。这样就需要遵循以下几点原则:尽可能找到原图标位图中最多像素点的色值。如果有一个色值的像素点个数远远大于其它色值像素点的个数,那么背板的颜色使用这个最大像素点数的色值;如果找不到最大像素点数的色值,那么会选用图标中所有像素点的平均色值作为背板的颜色。具体的,图2中,上述步骤S03进一步包括:
步骤S301创建最多像素点色值计数数组和平均颜色值数组:为了实现找到最大像素点数的色值,需要建立一个255*255*255的int数组,作为完整的RGB向量,然后遍历图标所有像素,对每一个像素的RGB颜色进行计数,最后返回计数最大的数组下标作为RGB颜色。但考虑节约内存,可以采用近似的方法,只需建立3个255的int数组,即可近似找出最大像素点数的色值。本步骤中,创建最多像素点色值计数数组和平均颜色值数组,其中,最多像素点色值计数数组包括R颜色分量最大像素点色值计数数组、G颜色分量最大像素点色值计数数组和B颜色分量最大像素点色值计数数组,分别作为R、G、B三个颜色分向量的计数器,用于找出最大像素色值,将R颜色分量最大像素点色值计数数组、G颜色分量最大像素点色值计数数组和B颜色分量最大像素点色值计数数组分别标记为mostR[]、mostG[]、mostB[]。
平均颜色值数组包括R颜色分量值、G颜色分量值和B颜色分量值,R颜色分量值、G颜色分量值和B颜色分量值为3个int变量,用于累计所有像素上的R、G、B颜色分量的和,以便计算出图标中的平均颜色。本实施例将R颜色分量值、G颜色分量值和B颜色分量分别标记为sumR、sumG、sumB。
步骤S302加载应用的图标,对图标不同区域的像素点使用不同的采样率进行采样:因为背板是原图标外围的扩展,故原图标中靠近边缘的像素颜色,优先于图标靠近中心的颜色。这样可以通过对原图标不同位置的像素不同的采样率,实现图标边缘像素更高的权重。本步骤中,加载应用的图标,对图标不同区域的像素点使用不同的采样率进行采样。本实施例中,如果像素点离边缘的距离小于图标宽度*0.16,说明该像素点是边缘点,则采用50%抽样;其它像素点则采用3%抽样。当然,在本实施例的一些情况下,为了使结果更加准确,也可以增加采样率。
步骤S303遍历每个抽样像素点,分别取得每个抽样像素点的R颜色分量、G颜色分量和B颜色分量,使最多像素点色值计数数组中的R颜色分量最大像素点色值计数数组、G颜色分量最大像素点色值计数数组和B颜色分量最大像素值计数数组的计数分别加1,并使平均颜色值数组中的R颜色分量数组、G颜色分量数组和B颜色分量数组分别与每个抽样像素点的R颜色分量、G颜色分量和B颜色分量进行叠加:本步骤中,按照上述步骤S302中的抽样率遍历图标的每个抽样像素点,对于每个抽样像素点,分别取得该像素点的R颜色分量、G颜色分量和B颜色分量,分别对mostR[]、mostG[]、mostB[]的下标加1,累计计数,同时,将该像素点的R颜色分量、G颜色分量和B颜色分量分别与sumR、sumG和sumB进行叠加。
步骤S304使平均颜色值数组中的叠加后的R颜色分量值、G颜色分量值和B颜色分量值分别除以抽样像素点的个数,分别得到R颜色分量平均值、G颜色分量平均值和B颜色分量平均值:本步骤中,遍历结束后,分别使sumR、sumG和sumB分别除以抽样像素点的个数,分别得到R颜色分量平均值、G颜色分量平均值和B颜色分量平均值,将R颜色分量平均值、G颜色分量平均值和B颜色分量平均值分别标记为averageR、averageG和averageB,averageR、averageG和averageB组成RGB颜色averageRGB。
步骤S305分别计算最多像素点色值计数数组中的R颜色分量最大像素点色值、G颜色分量最大像素点色值和B颜色分量最大像素点色值:本步骤中,分别找出mostR[]、mostG[]和mostB[]中计数最大的下标,这三个下标就是像素点最多的R、G、B,即R颜色分量最大像素点色值、G颜色分量最大像素点色值和B颜色分量最大像素点色值。
步骤S306判断最多像素点色值计数数组是否存在其像素点个数大于设定个数的色值:本步骤中,判断最多像素点色值计数数组是否存在其像素点个数大于设定个数的色值,例如:mostR[170]=1800,就表示R=170的像素点的个数有1800个,1800就是计数。本实施例中,该设定个数为抽样像素点总数的40%。当然,在本实施例的一些情况下,上述设定个数可以根据具体情况进行相应调整。本步骤中,如果判断的结果为是,则执行步骤S308;否则,执行步骤S307。
步骤S307将R颜色分量平均值、G颜色分量平均值和B颜色分量平均值作为背板的颜色:如果上述步骤S306的判断结果为否,则执行本步骤。本步骤中,认为这个图标没有一个颜色远超出其它颜色,将R颜色分量平均值、G颜色分量平均值和B颜色分量平均值的组合作为背板的颜色。
步骤S308将平均颜色值数组中的R颜色分量平均值、G颜色分量平均值和B颜色分量平均值转换到HSV颜色空间,将最多像素点色值计数数组中的R颜色分量最大像素点色值、G颜色分量最大像素点色值和B颜色分量最大像素点色值转换到HSV颜色空间:如果上述步骤S306的判断结果为是,即像素点个数大于抽样像素点总数的40%,则执行本步骤。本步骤中,认为这个色值可以被列入候选的最佳匹配色,把它组成RGB颜色mostRGB,为了将平均颜色值数组的平均颜色与最多像素点色值计数数组中的最多计数颜色进行对比,将平均颜色值数组中的R颜色分量平均值、G颜色分量平均值和B颜色分量平均值转换到HSV颜色空间,将最多像素点色值计数数组中的R颜色分量最大像素点色值、G颜色分量最大像素点色值和B颜色分量最大像素点色值转换到HSV颜色空间。
步骤S309判断平均颜色值数组的H颜色分量与最多像素点色值计数数组的H颜色分量的差值是否小于阈值:本步骤中,判断平均颜色值数组的H颜色分量与最多像素点色值计数数组的H颜色分量的差值是否小于阈值,本实施例中,阈值为5,如果判断的结果为是,则执行步骤S310;否则,返回步骤S307。
步骤S310将R颜色分量最大像素点色值、G颜色分量最大像素点色值和B颜色分量最大像素点色值的组合作为背板的颜色:如果上述步骤S309的判断结果为是,则执行本步骤。本步骤中,将R颜色分量最大像素点色值、G颜色分量最大像素点色值和B颜色分量最大像素点色值的组合作为背板的颜色。
本实施例中,在手势滑动的时候,记录下布局整体滑动过的角度:初始角度为0度,顺时针旋转,其布局整体滑动过的角度增加,逆时针旋转,其布局整体滑动过的角度减小。对于图标来说,每转动270度位置应当复原,也即图标的公转周期是270度;而布局整体的手势角度周期为360度。因此,本实施例采用270与360的最小公倍数10800,作为记录角度的周期,具体请见图3。图3是上述步骤S04进一步细化的流程图,图3中,上述步骤S04进一步包括:
步骤S401初始化角度为10800度:本步骤中,当滑出扇形界面时,记初始化角度为10800度。值得一提的是,扇形界面是个应用,扇形界面要从屏幕角落通过手势唤出,在唤出后,在什么都没做的情况下,角度是10800度。
步骤S402开始手势滑动时,记录手势滑过的角度,当手势顺时针滑动时,图标的当前整体角度增加,当手势逆时针滑动时,图标的当前整体角度减小,图标的当前整体角度为:degree=(degree+10800)%10800:本步骤中,当开始手势滑动时,记录手势滑过的角度,当当手势顺时针滑动时,图标的当前整体角度增加,当手势逆时针滑动时,图标的当前整体角度减小,然后对图标的当前整体角度利用公式degree=(degree+10800)%10800进行修正,以确保图标的当前整体角度0度到10800度之间。上述公式中,degree为图标的当前整体角度。
步骤S403根据图标的当前整体角度,得到图标的整体布局的相位为phase=degree%270:本步骤中,根据图标的当前整体角度,得到图标的整体布局的相位为phase=degree%270,以确保图标的整体布局的相位在0度-270度之间,上式中,phase为图标的整体布局的相位,degree为图标的当前整体角度。
步骤S404根据事先设定的关键帧属性,由图标的整体布局的相位得到图标的当前角度:本步骤中,根据事先设定的关键帧属性,由图标的整体布局的相位得到图标的当前角度,具体来讲,每个图标都有一个固有的关键帧属性,该关键帧属性其实是一组mapping映射[key,value],其中,key为图标的整体布局的相位,value为图标在该整体布局的相位下的角度。
本发明提供三屏图标,分别表示“最近打开的应用”、“常用应用”与“快捷开关”,每屏图标最多会有13个。由于不同位置图标的大小不一,本实施例按以下原则排布每组图标的相对位置:第一,把大图标留给有效的应用,把小图标留给占位坑;值得一提的是,图标的大小与其坐标位置有关系,第二,尽可能对称排布。根据上述原则,每屏图标的排布顺序如图4所示。图4中,0-12个图标,每个数字代表一个图标。这些图标的大小是错落不一样的。其中比较大的有0号位、1号位、2号位、3号位、4号位和5号位;其它图标相对较小。三屏图标的布局如图5所示。
图5中,A6图标的关键帧为:[0,45],[90,135],[180,315],[270,45],表明在图标的整体布局的相位为0度时,A6在45度位置;图标的整体布局的相位为90度时,A6图标在135度位置;图标的整体布局的相位为180度时,A6图标在315度位置;图标的整体布局的相位在270度时,由于图标的公转周期是270度,所以也就是回到了原点45度。B6图标的关键帧为:[0,315],[90,45],[180,135],[270,315],而转速比较特殊的A11图标,其关键帧为:[0,72],[45,90],[90,135],[172,0],[180,5],[244,30],[245,60],[270,72]。这样,就可以根据图标的当前整体布局的相位,即可由关键帧生成差值器,计算该图标的当前角度。
对于本实施例而言,上述步骤S05还可进一步细化,其细化后的流程图如图6所示。图6中,上述步骤S05进一步包括:
步骤S501根据图标的当前角度,计算得到图标的坐标位置:本步骤中,根据图标的当前角度,计算得到图标的坐标位置。本实施例中,所有图标会以屏幕左下角为圆心,排布在如图5所示的四个同心圆上。因此图标的坐标位置公式为:x=所在同心圆半径*cos(图标的当前角度);y=所在同心圆半径*sin(图标的当前角度),其中,x为图标的横坐标,y为图标的纵坐标。
进一步地,为了取得更好的视觉效果,使得每个图标更紧凑、整体看起来更像一个圆,本实施例在基本坐标位置的基础上,对图标的坐标位置加以矫正。具体请见以下步骤。
步骤S502判断图标的当前角度是否大于90度:本步骤中,判断图标的当前角度是否大于90度,如果判断的结果为是,说明已经划出了可见区域(上一屏或下一屏),,则执行步骤S503;否则,执行步骤S504。
步骤S503对图标的坐标位置不做矫正:如果上述步骤S502的判断结果为是,则执行本步骤。本步骤中,对图标的坐标位置不做矫正。
步骤S504判断图标的当前角度是否位于0度到90度之间:如果上述步骤S503的判断结果为否,则执行本步骤。本步骤中,判断图标的当前角度是否位于0度到90度之间,如果判断的结果为是,则执行步骤S505;否则,执行步骤S506。
步骤S505计算图标的当前角度与45度之间的差值,并根据差值计算图标的坐标位置的偏移量,并使图标的坐标位置按照计算出的偏移量进行偏移:如果上述步骤S504的判断结果为是,则执行本步骤。本步骤中,计算图标的当前角度与45度之间的差值,并根据差值计算图标的坐标位置的偏移量,并使图标的坐标位置按照计算出的偏移量进行偏移。这样,当图标的当前角度位于45度时,不发生任何偏移;当图标的当前角度位于0度到45度之间时,x位置往圆心处收,越靠近0度收得越厉害,也就是越靠近0度,x的负偏移量越大;当图标的当前角度位于45度到90度之间时,y位置往圆心处收,越靠近90度收得越厉害,也就是越靠近90度,y的负偏移量越大。
另外,本实施例针对四圈图标的每一圈,分别定义一个最大偏移量,表示当图标的当前角度位于0度或90度时的偏移量,将位于0度时的偏移量称为第一设定偏移量,将位于90度时的偏移量称为第二设定偏移量。
步骤S506判断图标的当前角度是否等于0度:如果上述步骤S504的判断结果为否,则执行本步骤。本步骤中,判断图标的当前角度是否等于0度,如果判断的结果为是,则执行步骤S507;否则,执行步骤S508。
步骤S507将图标的坐标位置按照第一设定偏移量进行偏移:如果上述步骤S506的判断结果为是,则执行本步骤。本步骤中,将图标的坐标位置按照第一设定偏移量进行偏移。值得一提的是,第一设定偏移量的大小可根据具体情况进行相应调整。
步骤S508判断图标的当前角度是否等于90度:如果上述步骤S506的判断结果为否,则执行本步骤。本步骤中,判断图标的当前角度是否等于90度,如果判断的结果为是,则执行步骤S509;否则,返回步骤S503。
步骤S509将图标的坐标位置按照第二设定偏移量进行偏移:如果上述步骤S508的判断结果为是,则执行本步骤。本步骤中,将图标的坐标位置按照第二设定偏移量进行偏移。值得一提的是,第二设定偏移量的大小可根据具体情况进行相应调整。
还包括如下步骤:
步骤S502'判断图标的当前角度是否大于90度:本步骤中,判断图标的当前角度是否大于90度,如果判断的结果为是,说明已经划出了可见区域(上一屏或下一屏),则执行步骤S503';否则,执行步骤S504'。
步骤S503'对图标的大小不做矫正:如果上述步骤S502'的判断结果为是,则执行本步骤。本步骤中,对图标的大小不做矫正。
步骤S504'判断图标的当前角度是否位于0度到90度之间:如果上述步骤S502'的判断结果为否,则执行本步骤。本步骤中,判断图标的当前角度是否位于0度到90度之间,如果判断的结果为是,则执行步骤S505';否则,返回步骤S503'。
步骤S505'将图标所在的屏划分为第一区域、第二区域和第三区域,并分别设定第一区域、第二区域和第三区域的角度阈值,以及第二区域和第三区域的缩放比例,并将位于对于区域的图标进行相应缩放:如果上述步骤S504'的判断结果为是,则执行本步骤。本步骤中,将图标所在的屏划分为第一区域A、第二区域B和第三区域C(参见图7),并分别设定第一区域A、第二区域B和第三区域C的角度阈值,以及第二区域B和第三区域C的缩放比例,然后由此生成分段差值器,并将位于对应区域的图标进行相应缩放。当图标的当前角度在第一区域A时,对图标不做任何缩放,当图标的当前角度在第二区域B时,图标缓慢缩放;当图标的当前角度在第三区域C时,图标急剧缩放。
具体的,本实施例中,以图5中第三圈图标为例,其第一区域A可以认为是15度到75度之间;第二区域B为7度到15度、以及75度到83度之间;第三区域C为0度到7度、以及83度到90度之间。在第一区域A,图标大小始终不变;在第二区域B,图标大小的缩小比例从1缩小到图标的0.8,在第三区域C,图标大小的缩小比例从0.8缩小到0。这样,图标的大小就可以根据实际情况进行相应调整,这样不仅有效的提高了屏幕空间的利用率,而且在有限的面积内展示多个图标。
本实施例还涉及一种实现上述在安卓设备上进行图标排布的方法的装置,其结构示意图如图7所示。图7中,上述装置包括手势动作判断单元1、数据结构加载单元2、背板图标匹配单元3、图标当前角度计算单元4、位置大小透明度计算单元5和面板开启显示单元6;其中,手势动作判断单元1用于判断在安卓设备的应用界面上的指定区域是否有手势;数据结构加载单元2用于加载三屏图标的数据结构;背板图标匹配单元3用于根据三屏图标的数据结构,分别为每个图标增加相应的背板,并使背板的颜色与图标的颜色相匹配;图标当前角度计算单元4用于根据图标所在屏、初始位置以及跟随手势滑动过的角度,分别计算出每个屏中每个图标的当前角度;位置大小透明度计算单元5用于根据每个图标的当前角度,分别获取每个图标的位置、大小和透明度;面板开启显示单元6用于在安卓设备的应用界面上开启一个面板,并在面板上显示每个图标;上述面板包括三个子面板,每个子面板分别填充不同类型的图标。其屏幕的空间利用率较高、能在有限的面积内展示多个图标。
本实施例中,背板图标匹配单元3进一步包括数组创建模块31、加载采样模块32、像素点遍历模块33、分量平均值计算模块34、最大像素点色值计算模块35、色值判断模块36、颜色空间转换模块37和差值判断模块38;其中,数组创建模块31用于创建最多像素点色值计数数组和平均颜色值数组;最多像素点色值计数数组包括R颜色分量最大像素点色值计数数组、G颜色分量最大像素点色值计数数组和B颜色分量最大像素点色值计数数组,平均颜色值数组包括R颜色分量值、G颜色分量值和B颜色分量值;加载采样模块32用于加载应用的图标,对图标不同区域的像素点使用不同的采样率进行采样;像素点遍历模块33用于遍历每个抽样像素点,分别取得每个抽样像素点的R颜色分量、G颜色分量和B颜色分量,使最多像素点色值计数数组中的R颜色分量最大像素点色值计数数组、G颜色分量最大像素点色值计数数组和B颜色分量最大像素值计数数组的计数分别加1,并使平均颜色值数组中的R颜色分量数组、G颜色分量数组和B颜色分量数组分别与每个抽样像素点的R颜色分量、G颜色分量和B颜色分量进行叠加;分量平均值计算模块34用于使平均颜色值数组中的叠加后的R颜色分量值、G颜色分量值和B颜色分量值分别除以抽样像素点的个数,分别得到R颜色分量平均值、G颜色分量平均值和B颜色分量平均值;最大像素点色值计算模块35用于分别计算最多像素点色值计数数组中的R颜色分量最大像素点色值、G颜色分量最大像素点色值和B颜色分量最大像素点色值;色值判断模块36用于判断最多像素点色值计数数组是否存在其像素点个数大于设定个数的色值,如是,对平均颜色值数组和最多像素点色值计数数组进行颜色空间的转换;否则,将R颜色分量平均值、G颜色分量平均值和B颜色分量平均值的组合作为所述背板的颜色;颜色空间转换模块37用于将平均颜色值数组中的R颜色分量平均值、G颜色分量平均值和B颜色分量平均值转换到HSV颜色空间,将最多像素点色值计数数组中的R颜色分量最大像素点色值、G颜色分量最大像素点色值和B颜色分量最大像素点色值转换到HSV颜色空间;差值判断模块38用于判断平均颜色值数组的H颜色分量与最多像素点色值计数数组的H颜色分量的差值是否小于阈值,如是,将R颜色分量最大像素点色值、G颜色分量最大像素点色值和B颜色分量最大像素点色值的组合作为背板的颜色;否则,将R颜色分量平均值、G颜色分量平均值和B颜色分量平均值的组合作为背板的颜色。上述设定个数为抽样像素点总数的40%,阈值为5。当然,在本实施例的一些情况下,上述设定个数与阈值的大小可根据具体情况进行相应调整。
本实施例中,图标当前角度计算单元4进一步包括初始化模块41、图标当前整体角度计算模块42、整体布局相位计算模块43和图标当前角度获取模块44;其中,初始化模块41用于初始化角度为10800度;图标当前整体角度计算模块42用于开始手势滑动时,记录手势滑过的角度,当手势顺时针滑动时,图标的当前整体角度增加,当手势逆时针滑动时,图标的当前整体角度减小,图标的当前整体角度为:degree=(degree+10800)%10800,其中,degree为图标的当前整体角度;整体布局相位计算模块43用于根据图标的当前整体角度,得到图标的整体布局的相位为phase=degree%270,其中,phase为图标的整体布局的相位,degree为图标的当前整体角度;图标当前角度获取模块44用于根据事先设定的关键帧属性,由图标的整体布局的相位得到图标的当前角度。
本实施例中,位置大小透明度计算单元5进一步包括图标坐标位置计算模块51、第一图标当前角度判断模块52、第二图标当前角度判断模块53、第三图标当前角度判断模块54、第四图标当前角度判断模块55、第五图标当前角度判断模块56和第六图标当前角度判断模块57;其中,图标坐标位置计算模块51用于根据图标的当前角度,计算得到图标的坐标位置;第一图标当前角度判断模块52用于判断图标的当前角度是否大于90度,如是,对图标的坐标位置不做矫正;否则,继续判断图标的当前角度的大小;第二图标当前角度判断模块53用于判断图标的当前角度是否位于0度到90度之间,如是,计算图标的当前角度与45度之间的差值,并根据差值计算图标的坐标位置的偏移量,并使图标的坐标位置按照计算出的偏移量进行偏移;否则,继续判断图标的当前角度的大小;第三图标当前角度判断模块54用于判断图标的当前角度是否等于0度,如是,将图标的坐标位置按照第一设定偏移量进行偏移;否则,继续判断图标的当前角度的大小;第四图标当前角度判断模块55用于判断图标的当前角度是否等于90度,如是,将图标的坐标位置按照第二设定偏移量进行偏移;否则,对图标的坐标位置不做矫正;第五图标当前角度判断模块56用于判断图标的当前角度是否大于90度,如是,对图标的大小不做矫正;否则,继续判断图标的当前角度的大小;第六图标当前角度判断模块57用于判断图标的当前角度是否位于0度到90度之间,如是,将图标所在的屏划分为第一区域、第二区域和第三区域,并分别设定第一区域、第二区域和第三区域的角度阈值,以及第二区域和第三区域的缩放比例,并将位于对应区域的图标进行相应缩放;否则,对图标的大小不做矫正。
总之,在本实施例中,实现了在安卓设备上任意应用的右下角可以通过手势开启一个面板,并在面板上显示类似大小错落的图标。通过为应用图标加上彩色背板,使之看上去整齐、且与原图标颜色统一。另外,通过定义图标的排布和运动轨迹,使之有气泡感。在提高屏幕空间利用率的同时,增强了用户的体验。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种在安卓设备上进行图标排布的方法,其特征在于,包括如下步骤:
A)判断在所述安卓设备的应用界面上的指定区域是否有手势,如是,执行步骤B);否则,继续进行本步骤的判断;
B)加载三屏图标的数据结构;
C)根据所述三屏图标的数据结构,分别为每个图标增加相应的背板,并使所述背板的颜色与所述图标的颜色相匹配;
D)根据所述图标所在屏、初始位置以及跟随所述手势滑动过的角度,分别计算出每个屏中每个所述图标的当前角度;
E)根据每个所述图标的当前角度,分别获取每个所述图标的位置、大小和透明度;
F)在所述安卓设备的应用界面上开启一个面板,并在所述面板上显示每个所述图标;所述面板包括三个子面板,每个子面板分别填充不同类型的图标。
2.根据权利要求1所述的在安卓设备上进行图标排布的方法,其特征在于,所述步骤C)进一步包括:
C1)创建最多像素点色值计数数组和平均颜色值数组;所述最多像素点色值计数数组包括R颜色分量最大像素点色值计数数组、G颜色分量最大像素点色值计数数组和B颜色分量最大像素点色值计数数组,所述平均颜色值数组包括R颜色分量值、G颜色分量值和B颜色分量值;
C2)加载应用的图标,对所述图标不同区域的像素点使用不同的采样率进行采样;
C3)遍历每个抽样像素点,分别取得每个所述抽样像素点的R颜色分量、G颜色分量和B颜色分量,使所述最多像素点色值计数数组中的R颜色分量最大像素点色值计数数组、G颜色分量最大像素点色值计数数组和B颜色分量最大像素值计数数组的计数分别加1,并使所述平均颜色值数组中的R颜色分量数组、G颜色分量数组和B颜色分量数组分别与每个抽样像素点的R颜色分量、G颜色分量和B颜色分量进行叠加;
C4)使所述平均颜色值数组中的叠加后的R颜色分量值、G颜色分量值和B颜色分量值分别除以所述抽样像素点的个数,分别得到R颜色分量平均值、G颜色分量平均值和B颜色分量平均值;
C5)分别计算所述最多像素点色值计数数组中的R颜色分量最大像素点色值、G颜色分量最大像素点色值和B颜色分量最大像素点色值;
C6)判断所述最多像素点色值计数数组是否存在其像素点个数大于设定个数的色值,如是,执行步骤C7);否则,将所述R颜色分量平均值、G颜色分量平均值和B颜色分量平均值的组合作为所述背板的颜色;
C7)将所述平均颜色值数组中的R颜色分量平均值、G颜色分量平均值和B颜色分量平均值转换到HSV颜色空间,将所述最多像素点色值计数数组中的R颜色分量最大像素点色值、G颜色分量最大像素点色值和B颜色分量最大像素点色值转换到HSV颜色空间;
C8)判断所述平均颜色值数组的H颜色分量与所述最多像素点色值计数数组的H颜色分量的差值是否小于阈值,如是,将所述R颜色分量最大像素点色值、G颜色分量最大像素点色值和B颜色分量最大像素点色值的组合作为所述背板的颜色;否则,将所述R颜色分量平均值、G颜色分量平均值和B颜色分量平均值的组合作为所述背板的颜色。
3.根据权利要求1或2所述的在安卓设备上进行图标排布的方法,其特征在于,所述步骤D)进一步包括:
D1)初始化角度为10800度;
D2)开始手势滑动时,记录所述手势滑过的角度,当所述手势顺时针滑动时,图标的当前整体角度增加,当所述手势逆时针滑动时,所述图标的当前整体角度减小,所述图标的当前整体角度为:degree=(degree+10800)%10800,其中,degree为图标的当前整体角度;
D3)根据所述图标的当前整体角度,得到所述图标的整体布局的相位为phase=degree%270,其中,phase为图标的整体布局的相位,degree为图标的当前整体角度;
D4)根据事先设定的关键帧属性,由所述图标的整体布局的相位得到所述图标的当前角度。
4.根据权利要求3所述的在安卓设备上进行图标排布的方法,其特征在于,所述步骤E)进一步包括:
E1)根据所述图标的当前角度,计算得到所述图标的坐标位置;
E2)判断所述图标的当前角度是否大于90度,如是,对所述图标的坐标位置不做矫正;否则,执行步骤E3);
E3)判断所述图标的当前角度是否位于0度到90度之间,如是,计算所述图标的当前角度与45度之间的差值,并根据所述差值计算所述图标的坐标位置的偏移量,并使所述图标的坐标位置按照计算出的所述偏移量进行偏移;否则,执行步骤E4);
E4)判断所述图标的当前角度是否等于0度,如是,将所述图标的坐标位置按照第一设定偏移量进行偏移;否则,执行步骤E5);
E5)判断所述图标的当前角度是否等于90度,如是,将所述图标的坐标位置按照第二设定偏移量进行偏移;否则,对所述图标的坐标位置不做矫正;还包括:
E2')判断所述图标的当前角度是否大于90度,如是,对所述图标的大小不做矫正;否则,执行步骤E3');
E3')判断所述图标的当前角度是否位于0度到90度之间,如是,将所述图标所在的屏划分为第一区域、第二区域和第三区域,并分别设定所述第一区域、第二区域和第三区域的角度阈值,以及所述第二区域和第三区域的缩放比例,并将位于对应区域的图标进行相应缩放;否则,对所述图标的大小不做矫正。
5.根据权利要求2所述的在安卓设备上进行图标排布的方法,其特征在于,所述设定个数为抽样像素点总数的40%,所述阈值为5。
6.一种实现如权利要求1所述的在安卓设备上进行图标排布的方法的装置,其特征在于,包括:
手势动作判断单元:用于判断在所述安卓设备的应用界面上的指定区域是否有手势;
数据结构加载单元:用于加载三屏图标的数据结构;
背板图标匹配单元:用于根据所述三屏图标的数据结构,分别为每个图标增加相应的背板,并使所述背板的颜色与所述图标的颜色相匹配;
图标当前角度计算单元:用于根据所述图标所在屏、初始位置以及跟随所述手势滑动过的角度,分别计算出每个屏中每个所述图标的当前角度;
位置大小透明度计算单元:用于根据每个所述图标的当前角度,分别获取每个所述图标的位置、大小和透明度;
面板开启显示单元:用于在所述安卓设备的应用界面上开启一个面板,并在所述面板上显示每个所述图标;所述面板包括三个子面板,每个子面板分别填充不同类型的图标。
7.根据权利要求6所述的装置,其特征在于,所述背板图标匹配单元进一步包括:
数组创建模块:用于创建最多像素点色值计数数组和平均颜色值数组;所述最多像素点色值计数数组包括R颜色分量最大像素点色值计数数组、G颜色分量最大像素点色值计数数组和B颜色分量最大像素点色值计数数组,所述平均颜色值数组包括R颜色分量值、G颜色分量值和B颜色分量值;
加载采样模块:用于加载应用的图标,对所述图标不同区域的像素点使用不同的采样率进行采样;
像素点遍历模块:用于遍历每个抽样像素点,分别取得每个所述抽样像素点的R颜色分量、G颜色分量和B颜色分量,使所述最多像素点色值计数数组中的R颜色分量最大像素点色值计数数组、G颜色分量最大像素点色值计数数组和B颜色分量最大像素值计数数组的计数分别加1,并使所述平均颜色值数组中的R颜色分量数组、G颜色分量数组和B颜色分量数组分别与每个抽样像素点的R颜色分量、G颜色分量和B颜色分量进行叠加;
分量平均值计算模块:用于使所述平均颜色值数组中的叠加后的R颜色分量值、G颜色分量值和B颜色分量值分别除以所述抽样像素点的个数,分别得到R颜色分量平均值、G颜色分量平均值和B颜色分量平均值;
最大像素点色值计算模块:用于分别计算所述最多像素点色值计数数组中的R颜色分量最大像素点色值、G颜色分量最大像素点色值和B颜色分量最大像素点色值;
色值判断模块:用于判断所述最多像素点色值计数数组是否存在其像素点个数大于设定个数的色值,如是,对所述平均颜色值数组和最多像素点色值计数数组进行颜色空间的转换;否则,将所述R颜色分量平均值、G颜色分量平均值和B颜色分量平均值的组合作为所述背板的颜色;
颜色空间转换模块:用于将所述平均颜色值数组中的R颜色分量平均值、G颜色分量平均值和B颜色分量平均值转换到HSV颜色空间,将所述最多像素点色值计数数组中的R颜色分量最大像素点色值、G颜色分量最大像素点色值和B颜色分量最大像素点色值转换到HSV颜色空间;
差值判断模块:用于判断所述平均颜色值数组的H颜色分量与所述最多像素点色值计数数组的H颜色分量的差值是否小于阈值,如是,将所述R颜色分量最大像素点色值、G颜色分量最大像素点色值和B颜色分量最大像素点色值的组合作为所述背板的颜色;否则,将所述R颜色分量平均值、G颜色分量平均值和B颜色分量平均值的组合作为所述背板的颜色。
8.根据权利要求6或7所述的装置,其特征在于,所述图标当前角度计算单元进一步包括:
初始化模块:用于初始化角度为10800度;
图标当前整体角度计算模块:用于开始手势滑动时,记录所述手势滑过的角度,当所述手势顺时针滑动时,图标的当前整体角度增加,当所述手势逆时针滑动时,所述图标的当前整体角度减小,所述图标的当前整体角度为:degree=(degree+10800)%10800,其中,degree为图标的当前整体角度;
整体布局相位计算模块:用于根据所述图标的当前整体角度,得到所述图标的整体布局的相位为phase=degree%270,其中,phase为图标的整体布局的相位,degree为图标的当前整体角度;
图标当前角度获取模块:用于根据事先设定的关键帧属性,由所述图标的整体布局的相位得到所述图标的当前角度。
9.根据权利要求8所述的装置,其特征在于,所述位置大小透明度计算单元进一步包括:
图标坐标位置计算模块:用于根据所述图标的当前角度,计算得到所述图标的坐标位置;
第一图标当前角度判断模块:用于判断所述图标的当前角度是否大于90度,如是,对所述图标的坐标位置不做矫正;否则,继续判断所述图标的当前角度的大小;
第二图标当前角度判断模块:用于判断所述图标的当前角度是否位于0度到90度之间,如是,计算所述图标的当前角度与45度之间的差值,并根据所述差值计算所述图标的坐标位置的偏移量,并使所述图标的坐标位置按照计算出的所述偏移量进行偏移;否则,继续判断所述图标的当前角度的大小;
第三图标当前角度判断模块:用于判断所述图标的当前角度是否等于0度,如是,将所述图标的坐标位置按照第一设定偏移量进行偏移;否则,继续判断所述图标的当前角度的大小;
第四图标当前角度判断模块:用于判断所述图标的当前角度是否等于90度,如是,将所述图标的坐标位置按照第二设定偏移量进行偏移;否则,对所述图标的坐标位置不做矫正;还包括:
第五图标当前角度判断模块:用于判断所述图标的当前角度是否大于90度,如是,对所述图标的大小不做矫正;否则,继续判断所述图标的当前角度的大小;
第六图标当前角度判断模块:用于判断所述图标的当前角度是否位于0度到90度之间,如是,将所述图标所在的屏划分为第一区域、第二区域和第三区域,并分别设定所述第一区域、第二区域和第三区域的角度阈值,以及所述第二区域和第三区域的缩放比例,并将位于对应区域的图标进行相应缩放;否则,对所述图标的大小不做矫正。
10.根据权利要求7所述的装置,其特征在于,所述设定个数为抽样像素点总数的40%,所述阈值为5。
CN201580006079.1A 2015-09-21 2015-09-21 一种在安卓设备上进行图标排布的方法及装置 Active CN105960631B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2015/090156 WO2017049436A1 (zh) 2015-09-21 2015-09-21 一种在安卓设备上进行图标排布的方法及装置

Publications (2)

Publication Number Publication Date
CN105960631A true CN105960631A (zh) 2016-09-21
CN105960631B CN105960631B (zh) 2019-09-13

Family

ID=56917964

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580006079.1A Active CN105960631B (zh) 2015-09-21 2015-09-21 一种在安卓设备上进行图标排布的方法及装置

Country Status (2)

Country Link
CN (1) CN105960631B (zh)
WO (1) WO2017049436A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109683758A (zh) * 2018-12-13 2019-04-26 惠州Tcl移动通信有限公司 应用图标的显示方法、装置及存储介质
CN109976602A (zh) * 2017-12-28 2019-07-05 浙江德景电子科技有限公司 一种安卓终端应用返回与切换的方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112637667A (zh) * 2020-12-30 2021-04-09 上海铼锶信息技术有限公司 进度条的显示方法及智能电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101114224A (zh) * 2006-07-24 2008-01-30 三星电子株式会社 用户接口装置以及实现该装置的方法
US20100050114A1 (en) * 2008-08-22 2010-02-25 Christoph Braun Method and apparatus for displaying medical thumbnail objects in a browsing component
CN102063253A (zh) * 2010-04-07 2011-05-18 苹果公司 用于管理并行打开的软件应用的方法和相关设备
CN103150094A (zh) * 2011-12-06 2013-06-12 现代自动车株式会社 利用动态触摸交互控制分屏联动显示的方法和装置
CN103324435A (zh) * 2013-05-24 2013-09-25 华为技术有限公司 分屏显示的方法、装置及其电子设备
CN104407782A (zh) * 2014-12-11 2015-03-11 张蜀军 菜单显示方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101114224A (zh) * 2006-07-24 2008-01-30 三星电子株式会社 用户接口装置以及实现该装置的方法
US20100050114A1 (en) * 2008-08-22 2010-02-25 Christoph Braun Method and apparatus for displaying medical thumbnail objects in a browsing component
CN102063253A (zh) * 2010-04-07 2011-05-18 苹果公司 用于管理并行打开的软件应用的方法和相关设备
CN103150094A (zh) * 2011-12-06 2013-06-12 现代自动车株式会社 利用动态触摸交互控制分屏联动显示的方法和装置
CN103324435A (zh) * 2013-05-24 2013-09-25 华为技术有限公司 分屏显示的方法、装置及其电子设备
CN104407782A (zh) * 2014-12-11 2015-03-11 张蜀军 菜单显示方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109976602A (zh) * 2017-12-28 2019-07-05 浙江德景电子科技有限公司 一种安卓终端应用返回与切换的方法
CN109683758A (zh) * 2018-12-13 2019-04-26 惠州Tcl移动通信有限公司 应用图标的显示方法、装置及存储介质

Also Published As

Publication number Publication date
CN105960631B (zh) 2019-09-13
WO2017049436A1 (zh) 2017-03-30

Similar Documents

Publication Publication Date Title
Richards The fortification illusions of migraines
CN102968809B (zh) 在增强现实领域实现虚拟信息标注及绘制标注线的方法
CN101989178B (zh) 多叉树数据结构的立体环状可视化方法
CN106127853B (zh) 一种无人机探测范围分析方法
CN103576973B (zh) 显示面板、便携设备与应用于其上的控制方法
CN105960631A (zh) 一种在安卓设备上进行图标排布的方法及装置
CN108664454B (zh) 电子书页面显示方法、装置和终端设备
CN104951129B (zh) 将覆盖数据与视频图像相组合的方法和系统及显示系统
CN104156144B (zh) 电子文档翻页效果实现方法及装置
CN103268621A (zh) 一种房屋实景图生成方法与装置
WO2023093291A1 (zh) 图像处理方法、装置、计算机设备和计算机程序产品
CN102999931A (zh) 电子笔迹绘制方法及装置
CN109448077A (zh) 一种多图层合并的方法、装置、设备以及存储介质
CN106971370B (zh) 一种基于图片作为背景画平面矢量图的系统及方法
CN106017483A (zh) 一种地图车辆图标的绘制方法、绘制系统及导航终端
CN102073468B (zh) 一种基于视窗系统实现图像边缘融合方法
US6404419B1 (en) Image processing device
TW201037679A (en) Field color sequential imaging method and related technology
CN107563958A (zh) 全息图像转换方法和系统
CN103295260A (zh) 一种基于旋转体三维显示器的实时体三维数据生成方法
CN107085859B (zh) 一种基于图像的彩铅画风格绘制方法
Hooper A note on some internal structures of the Mandelbrot set
CN104156506B (zh) 一种车载互联移动终端投射横竖屏检测方法
CN207216172U (zh) 一种光栅动画演示装置
CN206584145U (zh) 像素结构、液晶面板及立体显示器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220208

Address after: 100020 room 112, block D, 28 xinjiekouwai street, Xicheng District, Beijing (Desheng Park)

Patentee after: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Address before: 201210 5th floor, building 2, No. 500, shengxia Road, Pudong New Area, Shanghai

Patentee before: SHANGHAI HOLAVERSE NETWORK TECHNOLOGY Co.,Ltd.