android icon换不掉图标文件夹,一种基于Android的文件夹图标显示方法与流程

e0804fa2e6c170959d91ad533b557cfb.gif

本发明属于应用软件技术领域,具体涉及一种文件夹图标显示方法。

背景技术:

Android是当前移动终端最流行的操作系统之一,系统桌面上显示着用户安装的各种应用(App)。众所周知,随着安装应用数量的增多,一页页查找某个应用会不太方便。因此Android系统对应用图标的显示进行了一定的组织,即文件夹功能:例如用户可以将自认为拥有某种关联的多个应用放在同一个文件夹内,之后用户通过查找某个特定的文件夹,就可以快速定位某个想使用的应用,这样就方便了用户的日常操作。

当前Android系统桌面文件夹的内容呈现模式为:文件夹图标内最多可以一次性显示9个应用的小图标。具体的实现原理如图1所示:系统启动完成后,加载桌面上的界面元素(如应用图标和文件夹图标等),准备文件夹视图信息。当加载一个文件夹图标(每个文件夹图标会对应一个视图文件FolderIcon.java)的时候,会触发其内部的绘制函数完成文件夹图标的绘制。假设某个文件夹内部包含n 个子应用(本文中“子应用”为文件夹内包含的各个应用),根据绘制函数绘制第i个子应用的图标(1=< i <=n,n为文件夹内所包含子应用的数量),绘制完成后接着去绘制第i+1个子应用的图标,直到i>n即结束任务。遍历绘制过程中,需要依次找到其对应的图标,然后将每个图标进行一定程度的大小缩放,并且计算好绘制的位置,最终将这n个缩放后的小图标依次绘制在该文件夹视图内部。

文件夹图标内最多一次可以显示9个应用的小图标,但是文件夹图标的大小与正常的应用图标大小一样,这就导致了在文件夹图标大小的范围内,文件夹内部包含的各个应用的小图标会看起来很小,用户会不容易清晰辨认,所以这不是一种很好的内容呈现方式。

技术实现要素:

针对Android系统在文件夹展示内容上存在的缺陷,本发明提出一种新的基于Android的文件夹图标显示方法,以更清晰、更直观的方式向用户展示文件夹内的各个应用图标。

本发明提出的基于Android的文件夹图标显示方法,分为以下两个部分:

(1)本发明文件夹图标绘制逻辑(参见图2):首先,基于现有文件夹图标绘制逻辑,依次绘制出每个子应用的图标(显示效果为现有的“九宫格”样式);在此基础之上,依次选取文件夹内各个子应用的图标,进行额外放大绘制,设置该图标带有透明度,且其整个覆盖在所有子应用图标的上层,大小不超过文件夹图标的大小;

(2)引入一套独立的定时绘制功能(参见图3):首先,在视图文件(FolderIcon.java)内部定义变量index,初始值设定为0,用于标记文件夹图标内当前该显示哪一个子应用的图标;然后,利用Android提供的定时器接口实现定时器功能,用来对该变量做定时加1操作(比如每1秒或每2秒),并同时触发一次文件夹界面刷新绘制操作,绘制逻辑可参照第(1)部分中的描述;最后,当变量index累计值达到文件夹内部所包含的应用数量n值时,令index=0,继续前述过程,如此循环往复。

总结来说,就是利用定时绘制功能,定时在文件夹图标上层额外绘制一个较大的应用图标(此图标为文件夹包含的应用图标之一),如此循环遍历,清晰直观地向用户展示文件夹内部的所有应用。

图4展示了实现效果,文件夹内部应用图标实现定时切换:即桌面文件夹图标内部显示8个应用的小图标(因为本文件夹只包含8个应用,实际上最多可以显示9个小图标),在其上层,以定时每2秒轮换显示一个应用的大图标(文件夹内部包含的应用之一),该大图标具有透明度,且大小不超过文件夹图标的大小,覆盖在文件夹图标上层,显示在8个子应用图标之上,并且按照子应用的排列顺序,进行定时切换放大显示。

本发明技术方案带来的有益效果

在原有“九宫格”呈现模式的基础之上,定时在文件夹图标上层额外绘制一个较大的应用图标(此图标为文件夹包含的应用图标之一),将文件夹内包含的所有应用的图标循环放大显示,避免了现有的实现方案中存在的看不清文件夹内图标的问题。

另一种方案,不再显示文件夹内的小图标,只定时循环遍历放大显示文件夹内的所有应用图标,在一定程度上也能完成发明目的,实现效果如图5所示:在本发明实现方案的基础之上,只循环显示各个子应用大图标而不再绘制底层的“九宫格”小图标,且对子应用大图标取消透明度设置,但仍维持定时切换绘制功能,图标切换过程中加入运动效果,即将显示在文件夹图标上层的中央图标以从左往右或从上往下等方式进行移位,下一个图标滑动进入(显示),上一个图标滑动移出(消失),形成一种“跑马灯”式的显示效果。

附图说明

图1为与本发明相关的现有技术原理图。

图2为本发明基于Android系统的实现逻辑原理。

图3为本发明的技术方案图。

图4为本发明的实现效果图示:文件夹内部应用图标实现定时切换放大显示。

图5为本发明另一方案的实现效果图示。

具体实施方式

第一步,基于现有文件夹图标绘制逻辑(图1),获取文件夹中所有应用的图标(超过9个,只选取前9个),进行一定的缩放和排列,然后绘制在文件夹图标内,显示效果为现有的“九宫格”样式;

第二步,在此基础之上,设置定时器功能。利用Android提供的定时器接口实现定时器功能,用来对循环变量做定时加1操作(比如每1秒或每2秒)。由于onAttachedToWindow()函数是视图加载完成的标志性函数,因而以此作为启动定时器的契机,而onDetachedFrowWindow()函数是视图被移除完成的标志性函数,因而以此作为关闭定时器的契机;

第三步,选取文件夹内第i个子应用的图标(1=< i <=n,n为文件夹内所包含子应用的数量),进行额外放大绘制,设置该图标的透明度,令其大小不超过文件夹图标的大小, 且这个大图标覆盖在所有子应用图标的上层。执行过程中,drawAllPreviewItems()函数负责完成文件夹视图内部子应用图标的绘制任务,追加的绘制逻辑也就体现在该函数内部;

第四步,循环变量定时加1的同时,触发一次文件夹界面刷新绘制操作,绘制第i+1个子应用的图标,如第三步所述,进行图标的额外放大,且设置各项参数。

绘制完成后,继续绘制下一个子应用的图标,直到i>n,则令i等于初始值,继续重新开始绘制,如此循环遍历,以此实现了将文件夹内包含的所有应用的图标定时切换放大显示功能,避免了现有实现方案中存在的看不清文件夹内图标的问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值