AndroidLauncher界面中长应用名称的垂直滚动显示方法

文档序号:6550174阅读:182来源:国知局
Android Launcher界面中长应用名称的垂直滚动显示方法
【专利摘要】本发明提供一种Android?Launcher界面中长应用名称的垂直滚动显示方法,包括获取所有应用信息并形成应用列表,为每一个应用创建PagedViewIcon;将需要垂直滚动显示的PagedViewIcon单独保存为一个List,将其显示内容分割成多行显示;每当到达刷新时间Update?Runnable线程发送消息给Handle线程,Handler线程更新List中的每一个PagedViewIcon的Index,并对其进行刷新,然后垂直滚动显示应用名称。本发明在Launcher的PagedViewIcon中通过显示区域和显示内容对长应用名称进行分割,极大地方便了长应用名称的快速显示。
【专利说明】Andro i d Launcher界面中长应用名称的垂直滚动显示方法

【技术领域】
[0001] 本发明涉及一种应用名称显示方法,特别是涉及一种Android Launcher界面中长 应用名称的垂直滚动显示方法。

【背景技术】
[0002] 目前,在智能手机的Android系统中,Launcher界面下的应用显示由应用图标和 应用名称组成。具体地,Android系统的Launcher提供了完整应用显示和操作功能,显示部 分采取了 Android常用的Activity和View的显示结构。在系统开机后,Launcher会自动 运行,首先从系统中获取所有已经安装的应用信息;然后根据规则进行排序,组成List列 表;最后根据List列表在Activity中为每一个应用创建一个PagedViewIcon,并根据屏幕 显示规则将每一个PagedViewIcon放置到对应的位置。PagedViewIcon继承于TextView, 应用的名称部分由TextView进行显示,应用的图标部分由PagedViewIcon自身进行管理。 PagedViewIcon根据屏幕大小来分配应用图标和应用名称的显示区间。
[0003] 对于有些应用来说,为了清楚的表达应用本身的特点,会需要比较长的应用名称。 而手机屏幕的大小有限,屏幕上显示的应用的个数是固定的,这样会导致每个应用的显示 区间有限。对于长应用名称而言,目前Android系统的Launcher界面采取的是截取显示 的办法。当显示应用名称时,Launcher会根据显示区间的大小,能显示多少就显示多少, 很多时候对于最后一个字只能显示一半,导致显示效果不佳,且用户体验不好。有些时候, Android系统为中文时,应用名称不长,可以在显示区间进行完整的显示。而切换到英文模 式时,英文应用名称通常都会比较长,也会带来应用名称显示不全的问题。
[0004] 由于应用名称称的显示由TextView来完成,为了解决长应用名称显示问题,有些 方案充分使用了 TextView本身支持滚动显示的特征,在PagedViewIcon创建过程中设置了 android:ellipsize = "marquee"属性,从而可以实现长应用名称的横向滚动显示。横向滚 动显示效果对于单行显示来说,效果还可以;对于多行显示来说,一个字一个字挪动的显示 不仅显示较慢,而且显示效果不佳。


【发明内容】

[0005] 鉴于以上所述现有技术的缺点,本发明的目的在于提供一种Android Launcher界 面中长应用名称的垂直滚动显示方法,对于过长的应用名称,会将名称分解为数行,并根据 应用名称显示区域的大小,一次显示一行或多行,然后垂直滚动显示;对于显示区域的中间 行,会用不同的颜色字体进行高亮显示,从而不仅可以完整的显示长应用名称,还改进了用 户体验。
[0006] 为实现上述目的及其他相关目的,本发明提供一种Android Launcher界面中 长应用名称的垂直滚动显示方法,至少包括以下步骤:步骤SI、Launcher界面启动后, 从Android系统获取所有安装的应用信息,对应用信息排序后形成应用列表,并为每一个 应用创建PagedViewIcon,设置应用图标和应用名称;步骤S2、对于需要垂直滚动显示的 PagedViewIcon,将显示内容分割成多行显示,并保存在一个显示List,以Index作为索 弓丨;步骤S3、将需要垂直滚动显示的PagedViewIcon单独保存为一个List,并启动Update Runnable线程和Handle线程;步骤S4、Update Runnable线程每当到达刷新时间便发送消 息给Handle线程,Handler线程更新需要垂直滚动显示的PagedViewIcon List中的每一个 PagedViewIcon的Index,然后调用PagedViewIcon的invalidate函数对需要垂直滚动显 不的 PagedViewIcon List 中的每一个 PagedViewIcon 进行刷新,最后调用 PagedViewIcon 的onDraw函数来垂直滚动显示应用名称。
[0007] 根据上述的Android Launcher界面中长应用名称的垂直滚动显示方法,其中:所 述步骤S2中,对于需要垂直滚动显示的PagedViewIcon,根据显示区域和显示内容长度将 显示内容分割成多行显示。
[0008] 根据上述的Android Launcher界面中长应用名称的垂直滚动显示方法,其中:所 述步骤S3中,只要有一个应用的应用名称需要垂直滚动显示,即启动Update Runnable线 程和Handler线程。
[0009] 根据上述的Android Launcher界面中长应用名称的垂直滚动显示方法,其中:所 述Update Runnable线程是一个定时器线程,用于刷新定时器。
[0010] 根据上述的Android Launcher界面中长应用名称的垂直滚动显示方法,其中:所 述步骤S4中,每次到达所述Update Runnable线程的刷新时间时,若存在需要垂直滚动显 示的PagedViewIcon,则Update Runnable线程发送消息给Handler线程;若不存在需要垂 直滚动显示的PagedViewIcon,则退出Update Runnable线程和Handle线程。
[0011] 根据上述的Android Launcher界面中长应用名称的垂直滚动显示方法,其中:所 述步骤S4中,更新每一个PagedViewIcon的Index时,对当前Index进行Index++的操作;
[0012] 对于显示区域的行数为1的情况,当执行Index++操作后Index大于显示内容的 行数时,将Index设为第一行索引;
[0013] 对于显示区域的行数大于1的情况,当执行Index++操作后,(显示内容的行 数-Index)=(显示区域的行数-2)时,将Index设为第一行索引。
[0014] 根据上述的Android Launcher界面中长应用名称的垂直滚动显示方法,其中:所 述步骤S4中,所述onDraw函数显示应用名称时,对于显示区域的行数为1的情况,则直接 通过Index犾取对应的显不内容,然后进彳丁商壳显不。
[0015] 根据上述的Android Launcher界面中长应用名称的垂直滚动显示方法,其中:所 述步骤S4中,所述onDraw函数显示应用名称时,对于显示区域的行数大于1的情况,则首 先确定高亮显示的行数,然后从当前Index对应行的显示内容开始依次将显示区域的所有 行显不满,并对确定商壳显不的行进行商壳显不。
[0016] 进一步地,根据上述的Android Launcher界面中长应用名称的垂直滚动显示方 法,其中:确定高亮显示的行数时,判断显示区域的行数η是否为奇数;若η为奇数,则高亮 显示行数为Index+(n-l)/2 ;若η为偶数,则高亮显示行数为Index+n/2。
[0017] 如上所述,本发明的Android Launcher界面中长应用名称的垂直滚动显示方法, 具有以下有益效果:
[0018] (1)通过采用垂直滚动显示方法,能够很快地显示一个完整的长应用名称;
[0019] (2)对于中间行采取了高亮显示,显示效果更佳;
[0020] (3)对于屏幕中存在多个长应用名称显示的情况,采取了同步刷新机制,使得界面 上的显示更加整齐,保证了良好的动态显示效果;
[0021] (4)在Launcher的PagedViewIcon中通过显示区域和显示内容对长应用名称进行 分割,极大地方便了长应用名称的快速显示。

【专利附图】

【附图说明】
[0022] 图1显示为本发明的Android Launcher界面中长应用名称的垂直滚动显示方法 的框架图;
[0023] 图2显示为本发明的Android Launcher界面中长应用名称的垂直滚动显示方法 的流程图;
[0024] 图3显示为本发明中多个PagedViewIcon同步刷新机制的示意图;
[0025] 图4显示为本发明中onDraw函数显示应用名称的流程图。

【具体实施方式】
[0026] 以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书 所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实 施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离 本发明的精神下进行各种修饰或改变。
[0027] 需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想, 遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘 制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可 能更为复杂。
[0028] 在Android系统中,Launcher界面中的应用图标和应用名称由PagedViewIcon 来实现,而PagedViewIcon继承于TextView。本发明的Android Launcher界面中长应用 名称的垂直滚动显示方法主要涉及到PagedViewIcon和Launcher Activity。为了实现 长应用名称的显示,需要在Launcher对PagedViewIcon进行应用名称赋值时,根据现实区 域将应用名称分解成多行。由于Launcher界面中可能会有多个PagedViewIcon需要进行 垂直滚动显示,为了同步每个PagedViewIcon的显示,Launcher Activity需要启动一个 单独的刷新线程,每隔一定时间对需要垂直滚动显示的PagedViewIcon发出Update命令, PagedViewIcon收到命令后,进行下一行的显示。如果显示到最后一行了,则从第一行重新 开始显示。
[0029] 参照图1和图2,本发明的Android Launcher界面中长应用名称的垂直滚动显示 方法具体包括以下步骤:
[0030] 步骤SI、Launcher界面启动后,从Android系统获取所有安装的应用信息,对应 用信息排序后形成应用列表,并为每一个应用创建PagedViewIcon,设置应用图标和应用名 称。
[0031] 其中,创建PagedViewIcon后,通过调用TextView的setText函数对 PagedViewIcon进行内容设置。然后根据屏幕大小对所有PagedViewIcon进行布局,将其放 置在屏幕的合适区域。
[0032] 步骤S2、对于需要垂直滚动显示的PagedViewIcon,将显示内容分割成多行显示, 并保存在一个显示List,以Index作为索引;
[0033] 在某些情况下,可能会发生显示区域调整的状况,此时系统会调用onSizeChanged 函数。对于长应用名称,PagedViewIcon在重新设置显示区域或显示内容时,需要在 setText和onSizeChanged函数中根据显示区域和显示内容长度重新将显示内容分割成多 行显示,并保存一个显示List中,以Index作为索引。显示时,onDraw函数直接根据Index 从显示List当中获取对应行的显示内容进行显示即可,并对中间行进行高亮显示,以增强 显示效果。
[0034] 步骤S3、将需要垂直滚动显示的PagedViewIcon单独保存为一个List,并启动 Update Runnable 线程和 Handle 线程。
[0035] 由于Launcher界面中可能会有多个应用需要垂直滚动显示应用名称,Luancher Activity在进行显示内容或显示区域设置时,首先需要得知哪些PagedViewIcon需要垂直 滚动显示,然后将需要垂直滚动显示的PagedViewIcon保存为一个List,以便刷新时使用。 只要有一个应用的应用名称需要垂直滚动显示,则启动Update Runnable线程和Handler 线程。
[0036] 步骤S4、Update Runnable线程每当到达刷新时间便发送消息给Handle线程, Handler线程更新需要垂直滚动显示的PagedViewIcon List中的每一个PagedViewIcon的 Index,然后调用PagedViewIcon的invalidate函数对需要垂直滚动显示的PagedViewIcon List中的每一个PagedViewIcon进行刷新,最后调用PagedViewIcon的onDraw函数来垂直 滚动显示应用名称。
[0037] 参照图3, Update Runnable线程实际上是一个定时器线程,起到刷新定时器的作 用。定时器时间一到,若存在需要垂直滚动显示的PagedViewIcon,则Update Runnable线 程发送消息给Handler线程;若不存在需要垂直滚动显示的PagedViewIcon,则退出Update Runnable线程和Handle线程。存在需要垂直滚动显示的PagedViewIcon时,Handler线程 根据保存的需要垂直滚动显示的PagedViewIcon List,更新List中每一个PagedViewIcon 的当前显不Index,然后调用PagedViewIcon的invalidate函数对每一个PagedViewIcon 进行刷新,最后调用PagedViewIcon的onDraw函数来显示应用名称,至此即可达到垂直滚 动的显示效果。
[0038] 更新所有的需要垂直滚动显示的PagedViewIcon的Index时,对当前需要显示的 Index进行Index++的操作即可。
[0039] 对于显示区域的行数为1的情况,当执行Index++操作后Index大于显示内容的 行数时,将Index设为第一行索引。即如果显示到最后一行,则再从第一行开始重新显示。
[0040] 对于显示区域的行数大于1的情况,当执行Index++操作后,(显示内容的行 数-Index)=(显示区域的行数-2)时,将Index设为第一行索引。即当显示区域最后一 行显示的是显示内容的最后一行时,即接下来从第一行开始进行显示。如显示内容的行数 为8行、显示区域的行数为3行时,若当前显示为6、7和8行,则下次刷新后显示1、2和3 行。
[0041] 在Handler线程更新完Index之后,就开始进入PagedViewIcon的显示流程。 onDraw函数显示应用名称时,对于显示区域的行数为1的情况,则直接通过Index获取对应 的显示内容,然后进行高亮显示。对于显示区域的行数大于1的情况,则首先确定高亮显示 的行数,然后从当前Index对应行的显示内容开始依次将显示区域的所有行显示满,对于 确定高亮显示的行进行高亮显示,其他的行进行普通显示。
[0042] 参照图4, onDraw函数显示应用名称的具体流程如下:
[0043] 判断显示区域是否只能显示一行;
[0044] 若显示区域只能显示一行,则通过Index获取当前行对应的显示内容,并对该行 进行商壳显不;
[0045] 若显示区域可显示多行,则判断显示区域所能显示的行数η是否为奇数;若η为奇 数,则高亮显示行数为Index+(n-l)/2 ;若η为偶数,则高亮显示行数为Index+n/2 ;其中, 1彡Index彡(显示内容的行数-显示区域的行数+1);
[0046] 从Index开始进行文本显示,并将Index赋值于displaylndex,其中 displaylndex表示当前显示行的索引;
[0047] 判断displaylndex是否显示完成,若显示完成,则流程结束;其中,当 displaylndex减去Index等于(n-1)时,表示显示完成;
[0048] 若没有显示完成,判断当前显示行数是否为高亮显示,若是,则获取displaylndex 对应的显示内容并进行高亮显示;若否,则获取displaylndex对应的内容并进行普通显 示;
[0049] displaylndex累加 1后,再判断displaylndex是否显示完成,循环进行上述步骤, 直至显示完成,流程结束。
[0050] 综上所述,本发明的Android Launcher界面中长应用名称的垂直滚动显示方法通 过采用垂直滚动显示方法,能够很快地显示一个完整的长应用名称;对于屏幕中存在多个 长应用名称显示的情况,采取了同步刷新机制,使得界面上的显示更加整齐,保证了良好的 动态显示效果;在Launcher的PagedViewIcon中通过显示区域和显示内容对长应用名称进 行分割,极大地方便了长应用名称的快速显示。所以,本发明有效克服了现有技术中的种种 缺点而具高度产业利用价值。
[0051] 上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟 悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因 此,举凡所属【技术领域】中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完 成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
【权利要求】
1. 一种Android Launcher界面中长应用名称的垂直滚动显示方法,其特征在于:至少 包括以下步骤: 步骤Sl、Launcher界面启动后,从Android系统获取所有安装的应用信息,对应用信息 排序后形成应用列表,并为每一个应用创建PagedViewIcon,设置应用图标和应用名称; 步骤S2、对于需要垂直滚动显示的PagedViewIcon,将显示内容分割成多行显示,并保 存在一个显示List,以Index作为索引; 步骤S3、将需要垂直滚动显示的PagedViewIcon单独保存为一个List,并启动Update Runnable线程和Handle线程; 步骤S4、Update Runnable线程每当到达刷新时间便发送消息给Handle线程,Handler 线程更新需要垂直滚动显示的PagedViewIcon List中的每一个PagedViewIcon的Index, 然后调用PagedViewIcon的invalidate函数对需要垂直滚动显示的PagedViewIcon List 中的每一个PagedViewIcon进行刷新,最后调用PagedViewIcon的onDraw函数来垂直滚动 显示应用名称。
2. 根据权利要求1所述的Android Launcher界面中长应用名称的垂直滚动显示方法, 其特征在于:所述步骤S2中,对于需要垂直滚动显示的PagedViewIcon,根据显示区域和显 示内容长度将显示内容分割成多行显示。
3. 根据权利要求1所述的Android Launcher界面中长应用名称的垂直滚动显示方 法,其特征在于:所述步骤S3中,只要有一个应用的应用名称需要垂直滚动显示,即启动 Update Runnable 线程和 Handler 线程。
4. 根据权利要求1所述的Android Launcher界面中长应用名称的垂直滚动显示方法, 其特征在于:所述Update Runnable线程是一个定时器线程,用于刷新定时器。
5. 根据权利要求1所述的Android Launcher界面中长应用名称的垂直滚动显示方法, 其特征在于:所述步骤S4中,每次到达所述Update Runnable线程的刷新时间时,若存在需 要垂直滚动显示的PagedViewIcon,则Update Runnable线程发送消息给Handler线程;若 不存在需要垂直滚动显示的PagedViewIcon,则退出Update Runnable线程和Handle线程。
6. 根据权利要求1所述的Android Launcher界面中长应用名称的垂直滚动显示方法, 其特征在于:所述步骤S4中,更新每一个PagedViewIcon的Index时,对当前Index进行 Index++的操作; 对于显示区域的行数为1的情况,当执行Index++操作后Index大于显示内容的行数 时,将Index设为第一行索引; 对于显示区域的行数大于1的情况,当执行Index++操作后,(显示内容的行 数-Index)=(显示区域的行数-2)时,将Index设为第一行索引。
7. 根据权利要求1所述的Android Launcher界面中长应用名称的垂直滚动显示方法, 其特征在于:所述步骤S4中,所述onDraw函数显示应用名称时,对于显示区域的行数为1 的情况,则直接通过Index获取对应的显示内容,然后进行高亮显示。
8. 根据权利要求1所述的Android Launcher界面中长应用名称的垂直滚动显示方法, 其特征在于:所述步骤S4中,所述onDraw函数显示应用名称时,对于显示区域的行数大于 1的情况,则首先确定高亮显示的行数,然后从当前Index对应行的显示内容开始依次将显 不区域的所有行显不满,并对确定1?壳显不的行进行1?壳显不。
9.根据权利要求8所述的Android Launcher界面中长应用名称的垂直滚动显示方法, 其特征在于:确定高亮显示的行数时,判断显示区域的行数η是否为奇数;若η为奇数,则 高亮显示行数为Index+(n-l)/2 ;若η为偶数,则高亮显示行数为Index+n/2。
【文档编号】G06F9/44GK104090755SQ201410276184
【公开日】2014年10月8日 申请日期:2014年6月19日 优先权日:2014年6月19日
【发明者】田泽丰 申请人:上海斐讯数据通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1