CN104978183A - 一种图标构造方法,及终端设备 - Google Patents
一种图标构造方法,及终端设备 Download PDFInfo
- Publication number
- CN104978183A CN104978183A CN201510033146.0A CN201510033146A CN104978183A CN 104978183 A CN104978183 A CN 104978183A CN 201510033146 A CN201510033146 A CN 201510033146A CN 104978183 A CN104978183 A CN 104978183A
- Authority
- CN
- China
- Prior art keywords
- font
- icon
- icon font
- application program
- mentioned
- 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.)
- Pending
Links
Landscapes
- User Interface Of Digital Computer (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本发明实施例公开了一种图标构造方法,及终端设备,其中方法的实现包括:获得作为图标使用的图标字体,并存储所述图标字体;将所述图标字体配置为可用;在所述应用程序启动后,调用所述图标字体将所述图标字体显示为所述应用程序的图标。使用图标字体作为应用程序的图标使用,由于图标字体属于矢量图,为适配不同分辨率的终端设备不再需要制作不同分辨率的图标,因此可以避免冗余图片,减少App占用的存储/传输等资源,提高制作和维护效率。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种图标构造方法,及终端设备。
背景技术
在原生应用程序(Application,App)中,涉及图标展示的地方会使用到图片类的图标。图标以形象化的特性引导用户进行光管操作,另外还可以作为App的输入接口使用,因此图标在App中有广泛应用。
目前App中的图标使用的图片是普通图片,由于不同移动设备有不同分辨率的屏幕,因此显示同一个图标时清晰度不统一。为了适配不同的移动设备以及不同的分辨率,保证同一图片图标在不同分辨率都能够清晰显示,在使用图片图标时需要针对不同的分辨率设计不同的尺寸,于是衍生了图片图标的两大缺点:冗余以及设计和制作维护成本较大。
举个实际的例子来说,假设我们要在微信里面使用下面这个图标user.png;那么,在IOS(一种移动操作系统)设备阵营中,在不考虑最新款手机的情况下,为了兼容不同版本的手机,每张图标要切4个图。在Android(安卓)设备阵营中,分辨率繁多,比IOS更为复杂,每张图标要切8个图。
因此,使用普通图片作为应用程序的图标使用,为了适配不同终端的分辨率,需要大量冗余的图片,会使App占用的存储/传输等资源相应增加,而且制作和维护效率低。
发明内容
本发明实施例提供了一种图标构造方法,及终端设备,用于提供以矢量图作为图标使用的方案,从而避免冗余图片,减少App占用的存储/传输等资源,提高制作和维护效率。
一种图标构造方法,包括:
获得作为图标使用的图标字体,并存储所述图标字体;
将所述图标字体配置为可用;
在所述应用程序启动后,调用所述图标字体将所述图标字体显示为所述应用程序的图标。
一种终端设备,包括:
字体获取单元,用于获得作为图标使用的图标字体;
字体存储单元,用于存储所述图标字体;
字体配置单元,用于将所述图标字体配置为可用;
字体调用单元,用于在所述应用程序启动后,调用所述图标字体将所述图标字体显示为所述应用程序的图标。
从以上技术方案可以看出,本发明实施例具有以下优点:使用图标字体作为应用程序的图标使用,由于图标字体属于矢量图,为适配不同分辨率的终端设备不再需要制作不同分辨率的图标,因此可以避免冗余图片,减少App占用的存储/传输等资源,提高制作和维护效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例方法流程示意图;
图2为本发明实施例图标示意图;
图3为本发明实施例图标控件示意图;
图4为本发明实施例图标示意图;
图5为本发明实施例图标示意图;
图6为本发明实施例终端设备结构示意图;
图7为本发明实施例终端设备结构示意图;
图8为本发明实施例终端设备结构示意图;
图9为本发明实施例终端设备结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明实施例提供了一种图标构造方法,如图1所示,包括:
101:获得作为图标使用的图标字体,并存储上述图标字体;
在本发明实施例中,图标字体属于字体文件的一种,由于会被当做图标使用因此称为图标字体。
102:将上述图标字体配置为可用;
在本发明实施例中,配置图标字体可用的方式可以有很多,用途是告知App可以调用这个图标字体作为图标使用,具体如下:上述将上述图标字体配置为可用,包括:在上述应用程序的文件支持项中增加上述图标字体的键值。
103:在上述应用程序启动后,调用上述图标字体将上述图标字体显示为上述应用程序的图标。
本发明实施例,使用图标字体作为应用程序的图标使用,由于图标字体属于矢量图,为适配不同分辨率的终端设备不再需要制作不同分辨率的图标,因此可以避免冗余图片,减少App占用的存储/传输等资源,提高制作和维护效率。
在本实施例中,对于不同的操作系统将图标字体作显示为图标的方案会有不同,以下实施例将分别就目前比较主流的手机操作系统为例,对比本发明实施例作详细举例说明,如下:对于IOS操作系统,可以有两种方案,一种是将图标字体作为图标使用,一种是将图标字体作为图片使用;
其中,将图标字体作为图片使用的方式实现,具体如下:上述调用上述图标字体将上述图标字体显示为上述应用程序的图标,包括:
将上述应用程序配置为支持引用第三方编程语言写的库,上述库内包含上述图标字体;并为上述应用程序安装上述库;在上述应用程序调用上述图标字体时,将上述字体图标作为图片的图标进行显示。
在本实施例中,对于不同的操作系统将图标字体作显示为图标的方案会有不同,以下实施例将分别就目前比较主流的手机操作系统为例,对比本发明实施例作详细举例说明,如下:对于Android(安卓)操作系统,可以有两种方案,一种是将图标字体作为图标使用,一种是将图标字体作为图片使用;
对于Android(安卓)操作系统,将图标字体作为图片使用的方式实现,具体如下:上述调用上述图标字体将上述图标字体显示为上述应用程序的图标,包括:
启动图标字体组件,通过上述图标字体组件获得上述图标字体,然后定义上述图标字体的统一编码及其显示格式,然后按照上述定义的统一编码及其显示格式将上述图标字体转换为图片的图标进行显示。
在本实施例中,对于不同的操作系统将图标字体作显示为图标的方案会有不同,以下实施例将分别就目前比较主流的手机操作系统为例,对比本发明实施例作详细举例说明,在以下举例中,各操作系统均可以将图标字体作为普通的字体使用来实现原生App的图标显示,具体如下:
上述将上述图标字体配置为可用之后,还包括:将上述图标字体转换为可供调用的字体;
上述调用上述图标字体将上述图标字体显示为上述应用程序的图标包括:调用上述图标字体,将上述图标字体作为字体调用并显示为上述应用程序的图标。
其中,对于IOS系统而言,将图标字体作为普通的字体使用来实现原生App的图标显示,具体方案如下:上述将上述图标字体转换为可供调用的字体,包括:
为上述图标字体添加用户界面控件,并为上述图标字体的控件在控制器里面创建相应的出口连接点并添加相应代码逻辑。
在IOS系统中,获得图标字体的方式可以如下:上述获得作为图标使用的图标字体,包括:
获得作为图标使用的矢量图文件,并将上述矢量图文件转换为可缩放矢量图形文件,然后将上述可缩放矢量图形文件转换为图标字体。
在IOS系统中,存储图标字体的方式可以如下:上述存储上述图标字体包括:
将上述图标字体存入上述应用程序的目录下;为上述应用程序新建标签应用,并将上述图标字体存入上述应用程序的项目的根目录下。
其中,对于Android(安卓)操作系统而言,将图标字体作为普通的字体使用来实现原生App的图标显示,具体方案如下:上述存储上述图标字体包括:将作为图标使用的字体文件(True Type Font,ttf)存入系统的资源文件夹作为图标字体;
上述将上述图标字体转换为可供调用的字体,包括:为上述图标字体添加用户界面控件,并为上述图标字体在代码编辑器中添加相应代码逻辑,为上述图标字体创建对应的字体对象,并设置上述字体对象的属性。
以下实施例,将分别就两种目前比较主流的手机操作系统为例,对比本发明实施例作详细举例说明。
本发明实施例将使用iconfont(图标字体)实现原生App的图标,iconfont将一个或多个图标以字体文件的形式封装。在网页中,iconfont可通过css(Cascading Style Sheets,级联样式表)的font-face声明作为在线字体调用。在原生App中,iconfont可以类似系统字体那样被用户界面(User Interface,UI)控件调用。
一、如何使用iconfont-ios篇
在IOS系统中,主要包含两个部分,第一部分是将iconfont当成普通字体使用,第二部分是将iconfont当成图片使用。
(1)、iconfont当成普通字体使用,具体如下:
使用图标字体设置Label(标签)控件的Text(文本)属性,并改变颜色和尺寸,具体操作步骤如下:
步骤1、准备图标字体(iconfont);
将图标的.ai文件(一种矢量图文件格式),导出可缩放矢量图形(ScalableVector Graphics,svg)文件,然后利用iconfont.cn提供的线上图标生成工具生成图标字体。
注:图标的制作请参考iconfont平台使用介绍;为方便示例,我们直接到提供矢量图的相关网页随意下载几个图标,具体如图2所示,可以选择圆形选中区域内的图标。
步骤2、拷贝字体文件至App项目目录下;
使用xcode6(一款编程软件)新建一个Tabbed Application(标签应用),将图标字体的fontello.ttf拷贝到项目根目录下。
步骤3、告知xcode6我们有自定义字体可用;
修改Supporting Files(文件支持)/Info.plist文件,增加Fonts provided byapplication(提供的应用程序字体)键值。
步骤4、添加用户界面(User Interface,UI)控件;
具体实现方式可以是:点击Main.storyboard(故事板),为第一个视图拖拽添加几个控件,如下图3:
步骤5、为视图上的控件在控制器里面创建相应的出口连接点并加相应代码逻辑;
注解:
1、Outlet可以译做“出口连接点”;
3、创建Outlet的方法:在Main.storyboard界面上的右上角选中Show TheAssistant Editor,按住键盘的control键,在视图上将控件拖拽至控制器的代码编辑器界面,按照提示为控件的连接点起个名字以便在代码中引用。例如上图3中,视图上的Label控件(显示字母Q的那个)对应的出口连接点为stageIcon。
3、在代码编辑器中,viewOnload方法里面设置stageIcon的字体和尺寸,以及所用icon对应的统一编码(unicode)。示例中我们用的是下图4中黑色矩形框内的icon,对应的统一编码时u+e801,在swift里面需要写成"\u{e801}"。
4、最后在3个Slider控件的Value Changed事件里面加入阴影、字号和颜色的控制逻辑代码。具体见上图2所示。
使用图标字体和使用普通的字体没什么区别,唯一要注意的地方是需要找到图标对应的统一编码,这个编码可用找字体的提供者提供即可。
(2)、将iconfont当图片使用:
普通的字体只能当字符串使用,应用范围局限于String(字符串)类型的属性中。图标字体如果能当成图片使用,才真正能凸显其“图标”特性。在ios应用里面这种想法是完全可行的,我们可用借助FontAwesomeKit。
FontAwesomeKit它是一个开源图标字体库,目前支持几个非常有名的开源图标字体网站(Font-Awesome,Foundation icons,Zocial,and ionicons等)的1000+图标。当然也支持用户的自定义图标字体,前提是要按照FontAwesomeKit的接口规范实现FAKIcon(favorites icon,网页图标)类。
作为示例,下面将以如何利用FontAwesomeKit将Tab(标签)底栏的图标换成图标字体的图标为例进行举例说明,具体如下:
步骤1:配置Swift(一种计算机编程语言)项目让其支持引用第三方OC(OC,Object C,是扩充C的面向对象编程语言)写的库;
具体实现方式,可以如下:通过桥接的方式让Swift项目能够引用第三方Object C封装的库(具体说明参考官方文档):
通过xcode菜单操作,File>New>File>(iOS or OS X)>Source>HeaderFile,新增头文件:“XXX-Bridging-Header.h”,这里的XXX指的是项目名。
在头文件里面增加行:#import<FontAwesomeKit/FontAwesomeKit.h>
步骤2:利用CocoaPods为项目安装FontAwesomeKit;
具体实现方式如下:CocoaPods是OC项目的依赖管理器,同样在Swift项目中适用。首先要安装CocoaPods,然后在项目根目录下增加Podfile(Plainold data structure file,普通的数据结构的文件)文件,并添加FontAwesomeKit库,如下:
Pod"FontAwesomeKit","~>2.1.0"
最后,在命令行终端里面切换到项目目录,运行pod install来安装FontAwesomeKit依赖包。
步骤3:在AppDelegate.swift里面设置TabBarItem的image(图像)属性;
在application方法中增加以下代码:
Var tbc=window?.rootViewController as UITabBarControLLer
Var tb=tbc.tabBar
Var tbItem0=tb.items![0]as UITabBarItem
Var tbItem1=tb.items![1]as UITabBarItem
tb.Items0.imge=
FAKFontAwesome.homeIconWithSize(24).imageWithSize(CGSizeMake(24,24))
tb.Items1.imge=
FAKFontAwesome.homeIconWithSize(24).imageWithSize(CGSizeMake(24,24))
以上方案为FontAwesomeKit中的图标对象提供了一个imageWidthSize方法,在运行时会将字体图标转换成image(图像)对象。
最后CMD+R,编译运行我们的示例项目,结果如图5所示。
小结:在ios应用里面,借助FontAwesomeKit我们可以较完美地利用图标字体代替各种图片图标,在减少切图成本的同时提升性能和灵活性。
另,需要注意的是,FontAwesomeKit仅支持ios6.0+,对于市场份额极少的ios5.x,我们可以利用图标字体当作普通字体来使用,暂没有办法将图标字体当成图片来使用。
二、如何使用iconfont-Android篇
注:以下案例示例使用Google最新的Android Studio完成。Android的具体实现,主要包含两个部分,第一部分是将iconfont当成普通字体使用,第二部分是将iconfont当成图片使用。
(1)、iconfont当普通字体使用
步骤1:准备图标字体:
Android里面使用图标字体比ios略简单,只需要将字体文件(ttf(True TypeFont,字体文件)文件)拷贝到assets(系统的资源文件夹)目录下,然后在代码里面就可以直接使用了。
为方便示例,我们直接到Fontello随意下载几个图标。并将fontello.ttf添加至项目的assets目录下。具体可以是assets下添加一个fontello.ttf;
如果项目还没有assets目录,可以先创建该目录,具体可以是:在app的New/Assets Folder/的选项中添加。
步骤2:参考上面ios测试应用的界面添加相应的视图以及UI控件
Android里面添加UI控件的方式和Html页面差不多,当然也可以通过控件拖拽操作来完成,此处略过,设置如下:在res/fragment_main.xml/目录下进行操作。包含字体图标的阴影/颜色/字号等项。
步骤3-在代码编辑器里面添加设置图标字体的逻辑代码;
Android里面Activity的概念有点像IOS里面的Controller,我们添加设置TextView使用图标字体的代码如下:
//reference and set our icon font
Tupeface font=
Typeface.createFromAsset(getResources().getAssets(),"fontello.ttf");
Tv.setTypeface(font);
核心的代码就是以上摘录部分。使用Typeface.createFromAsset方法创建一个图标字体对应的Typeface(字体)对象,然后设置TextView的Typeface属性。
(2)、将iconfont当图片使用,具体如下:
作为示例,我们将使用图标字体替换应用左上角的android机器人图标。
步骤1:第三方图标字体组件的选用;
和IOS类似,图标字体默认情况下是不能直接代替图片当成图片来使用的,毕竟文件格式不一样。但是可以借助第三方的组件来达到改目的。
Android侧目前比较热门可靠的图标字体组件有两个:
Android-iconify和Fonticon;
Android-iconify和Fonticon都可以在github上找到相应的源码和具体的使用办法。
Android-iconify和前面IOS测试应用中用的FontAwesomeKit类似,默认打包了FontAwesome的400多个图标,目前的版本支持使用FontAwesome外的自定义图标,但是需要自己稍微改下源码并重新编译。
Fonticon则轻量许多,默认不打包任何图标,仅仅提供将图标字体转换成图片对象的必要接口方法,以及常用的支持图标字体的UI控件。
考虑到灵活性,以及使用FontAwesomekit的图标并不多,我们的测试应用选用Fonticon。
步骤2:Fonticon的安装;
使用Gradle可以很方便的为项目添加依赖的组件。
打开app/build.gradle,在依赖项中添加fonticon:
compile`com.shamanland:fonticon:0.1.8`
保存文件后,Android Studio就会自动下载安装fonticon组件。
步骤3:Fonticon的使用;
1、初始化并告诉Fonticon用哪一个图标字体文件;
新建MyApplication类,继承自Application,然后onCreate方法中初始化Fonticon。代码如下:
fontIconTypefaceHolder.init(getAssets(),"fontello.ttf");
修改AndroidManifest.xml,指定应用使用我们自定义的MyApplication类,代码如下:
Android:name=".MyApplication"
2、定义字体图标的统一编码:
在values目录下新增icons.xml,用来定义存储我们图标的统一编码(图标的统一编码获取方式参考IOS篇):
具体在app/res/values/icons.xml/目录下编辑。
3、定义字体图标的基本尺寸、颜色
新建xml目录,定义每个字体图标的基本尺寸、颜色,例如ic_android.xml:
<font-icon
xmlns:appa="http//xxxxx"
app:texSize="60sp"
app:texColor="color/teal"
/>
4、在代码中调用Fonticon的相关接口方法:
Fonticon提供了一个将图标字体转换成Drawable对象的方法FontIconDrawable.inflate,利用该方法实现将图标字体当成图片来使用。
具体代码如下:bar.setIcon(FontIconDrawable.inflate(this,R.xml.ic_android))
CMD+R,在Genymotion虚拟机里面运行我们的程序,图标字体在Android应用里面的效果较好。
小结:在android应用里面,使用图标字体和使用普通的字体一样的便利。
借助android-iconify或者fonticon等第三方组件,可以较完美地利用图标字体代替各种图片图标,在减少切图成本的同时提升性能和灵活性。
采用本发明实施例方法,相比于使用图片图标而言,所产生的有益效果如下表1所示
表1技术效果对比
本发明实施例还提供了一种终端设备,如图6所示,包括:
字体获取单元601,用于获得作为图标使用的图标字体;
字体存储单元602,用于存储上述图标字体;
字体配置单元603,用于将上述图标字体配置为可用;
字体调用单元604,用于在上述应用程序启动后,调用上述图标字体将上述图标字体显示为上述应用程序的图标。
在本发明实施例中,图标字体属于字体文件的一种,由于会被当做图标使用因此称为图标字体。
本发明实施例,使用图标字体作为应用程序的图标使用,由于图标字体属于矢量图,为适配不同分辨率的终端设备不再需要制作不同分辨率的图标,因此可以避免冗余图片,减少App占用的存储/传输等资源,提高制作和维护效率。
在本发明实施例中,配置图标字体可用的方式可以有很多,用途是告知App可以调用这个图标字体作为图标使用,具体如下:上述字体配置单元603,具体用于在上述应用程序的文件支持项中增加上述图标字体的键值。
在本实施例中,对于不同的操作系统将图标字体作显示为图标的方案会有不同,以下实施例将分别就目前比较主流的手机操作系统为例,对比本发明实施例作详细举例说明,如下:对于IOS操作系统,可以有两种方案,一种是将图标字体作为图标使用,一种是将图标字体作为图片使用;
其中,将图标字体作为图片使用的方式实现,具体如下:上述字体调用单元604,具体用于将上述应用程序配置为支持引用第三方编程语言写的库,上述库内包含上述图标字体;并为上述应用程序安装上述库;在上述应用程序调用上述图标字体时,将上述字体图标作为图片的图标进行显示。
在本实施例中,对于不同的操作系统将图标字体作显示为图标的方案会有不同,以下实施例将分别就目前比较主流的手机操作系统为例,对比本发明实施例作详细举例说明,如下:对于Android(安卓)操作系统,可以有两种方案,一种是将图标字体作为图标使用,一种是将图标字体作为图片使用;
对于Android(安卓)操作系统,将图标字体作为图片使用的方式实现,具体如下:上述字体调用单元604,具体用于启动图标字体组件,通过上述图标字体组件获得上述图标字体,然后定义上述图标字体的统一编码及其显示格式,然后按照上述定义的统一编码及其显示格式将上述图标字体转换为图片的图标进行显示。
在本实施例中,对于不同的操作系统将图标字体作显示为图标的方案会有不同,以下实施例将分别就目前比较主流的手机操作系统为例,对比本发明实施例作详细举例说明,在以下举例中,各操作系统均可以将图标字体作为普通的字体使用来实现原生App的图标显示,具体如下:进一步地,如图7所示,上述终端设备还包括:
字体转换单元701,用于在上述字体配置单元603将上述图标字体配置为可用之后,将上述图标字体转换为可供调用的字体;
上述字体调用单元604,具体用于调用上述图标字体,将上述图标字体作为字体调用并显示为上述应用程序的图标。
其中,对于IOS系统而言,将图标字体作为普通的字体使用来实现原生App的图标显示,具体方案如下:上述字体转换单元701,具体用于为上述图标字体添加用户界面控件,并为上述图标字体的控件在控制器里面创建相应的出口连接点并添加相应代码逻辑。
在IOS系统中,获得图标字体的方式可以如下:上述字体获取单元601,具体用于获得作为图标使用的矢量图文件,并将上述矢量图文件转换为可缩放矢量图形文件,然后将上述可缩放矢量图形文件转换为图标字体。
在IOS系统中,存储图标字体的方式可以如下:上述字体存储单元602,具体用于将上述图标字体存入上述应用程序的目录下;为上述应用程序新建标签应用,并将上述图标字体存入上述应用程序的项目的根目录下。
其中,对于Android(安卓)操作系统而言,将图标字体作为普通的字体使用来实现原生App的图标显示,具体方案如下:上述字体存储单元602,具体用于将作为图标使用的字体文件ttf存入系统的资源文件夹作为图标字体;
上述字体转换单元701,具体用于为上述图标字体添加用户界面控件,并为上述图标字体在代码编辑器中添加相应代码逻辑,为上述图标字体创建对应的字体对象,并设置上述字体对象的属性。
本发明实施例还提供了另一种终端设备,如图8所示,包括:接收器801、发射器802、处理器803以及存储器804;
其中,上述处理器803用于控制执行:获得作为图标使用的图标字体,并存储上述图标字体;将上述图标字体配置为可用;在上述应用程序启动后,调用上述图标字体将上述图标字体显示为上述应用程序的图标。
在本发明实施例中,图标字体属于字体文件的一种,由于会被当做图标使用因此称为图标字体。
本发明实施例,使用图标字体作为应用程序的图标使用,由于图标字体属于矢量图,为适配不同分辨率的终端设备不再需要制作不同分辨率的图标,因此可以避免冗余图片,减少App占用的存储/传输等资源,提高制作和维护效率。
在本发明实施例中,配置图标字体可用的方式可以有很多,用途是告知App可以调用这个图标字体作为图标使用,具体如下:上述处理器803用于控制执行:将上述图标字体配置为可用,包括:在上述应用程序的文件支持项中增加上述图标字体的键值。
在本实施例中,对于不同的操作系统将图标字体作显示为图标的方案会有不同,以下实施例将分别就目前比较主流的手机操作系统为例,对比本发明实施例作详细举例说明,如下:对于IOS操作系统,可以有两种方案,一种是将图标字体作为图标使用,一种是将图标字体作为图片使用;
其中,将图标字体作为图片使用的方式实现,具体如下:上述处理器803用于控制执行:调用上述图标字体将上述图标字体显示为上述应用程序的图标,包括:
将上述应用程序配置为支持引用第三方编程语言写的库,上述库内包含上述图标字体;并为上述应用程序安装上述库;在上述应用程序调用上述图标字体时,将上述字体图标作为图片的图标进行显示。
在本实施例中,对于不同的操作系统将图标字体作显示为图标的方案会有不同,以下实施例将分别就目前比较主流的手机操作系统为例,对比本发明实施例作详细举例说明,如下:对于Android(安卓)操作系统,可以有两种方案,一种是将图标字体作为图标使用,一种是将图标字体作为图片使用;
对于Android(安卓)操作系统,将图标字体作为图片使用的方式实现,具体如下:上述处理器803用于控制执行:调用上述图标字体将上述图标字体显示为上述应用程序的图标,包括:
启动图标字体组件,通过上述图标字体组件获得上述图标字体,然后定义上述图标字体的统一编码及其显示格式,然后按照上述定义的统一编码及其显示格式将上述图标字体转换为图片的图标进行显示。
在本实施例中,对于不同的操作系统将图标字体作显示为图标的方案会有不同,以下实施例将分别就目前比较主流的手机操作系统为例,对比本发明实施例作详细举例说明,在以下举例中,各操作系统均可以将图标字体作为普通的字体使用来实现原生App的图标显示,具体如下:
上述处理器803还用于控制执行:将上述图标字体配置为可用之后,将上述图标字体转换为可供调用的字体;
上述调用上述图标字体将上述图标字体显示为上述应用程序的图标包括:调用上述图标字体,将上述图标字体作为字体调用并显示为上述应用程序的图标。
其中,对于IOS系统而言,将图标字体作为普通的字体使用来实现原生App的图标显示,具体方案如下:上述处理器803用于控制执行:将上述图标字体转换为可供调用的字体,包括:
为上述图标字体添加用户界面控件,并为上述图标字体的控件在控制器里面创建相应的出口连接点并添加相应代码逻辑。
在IOS系统中,获得图标字体的方式可以如下:上述处理器803用于控制执行:获得作为图标使用的图标字体,包括:
获得作为图标使用的矢量图文件,并将上述矢量图文件转换为可缩放矢量图形文件,然后将上述可缩放矢量图形文件转换为图标字体。
在IOS系统中,存储图标字体的方式可以如下:上述处理器803用于控制执行:存储上述图标字体包括:
将上述图标字体存入上述应用程序的目录下;为上述应用程序新建标签应用,并将上述图标字体存入上述应用程序的项目的根目录下。
其中,对于Android(安卓)操作系统而言,将图标字体作为普通的字体使用来实现原生App的图标显示,具体方案如下:上述处理器803用于控制执行:存储上述图标字体包括:将作为图标使用的字体文件(True Type Font,ttf)存入系统的资源文件夹作为图标字体;
上述将上述图标字体转换为可供调用的字体,包括:为上述图标字体添加用户界面控件,并为上述图标字体在代码编辑器中添加相应代码逻辑,为上述图标字体创建对应的字体对象,并设置上述字体对象的属性。
本发明实施例还提供了另一种终端设备,如图9所示,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该终端可以为包括手机、平板电脑、PDA(Personal DigitalAssistant,个人数字助理)、POS(Point of Sales,销售终端)、车载电脑等任意终端设备,以终端为手机为例:
图9示出的是与本发明实施例提供的终端相关的手机的部分结构的框图。参考图9,手机包括:射频(Radio Frequency,RF)电路910、存储器920、输入单元930、显示单元940、传感器950、音频电路960、无线保真(wirelessfidelity,WiFi)模块970、处理器980、以及电源990等部件。本领域技术人员可以理解,图9中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图9对手机的各个构成部件进行具体的介绍:
RF电路910可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器980处理;另外,将设计上行的数据发送给基站。通常,RF电路910包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low Noise Amplifier,LNA)、双工器等。此外,RF电路910还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(Global Systemof Mobile communication,GSM)、通用分组无线服务(General Packet RadioService,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS)等。
存储器920可用于存储软件程序以及模块,处理器980通过运行存储在存储器920的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器920可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器920可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元930可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元930可包括触控面板931以及其他输入设备932。触控面板931,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板931上或在触控面板931附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板931可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器980,并能接收处理器980发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板931。除了触控面板931,输入单元930还可以包括其他输入设备932。具体地,其他输入设备932可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元940可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元940可包括显示面板941,可选的,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-EmittingDiode,OLED)等形式来配置显示面板941。进一步的,触控面板931可覆盖显示面板941,当触控面板931检测到在其上或附近的触摸操作后,传送给处理器980以确定触摸事件的类型,随后处理器980根据触摸事件的类型在显示面板941上提供相应的视觉输出。虽然在图9中,触控面板931与显示面板941是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板931与显示面板941集成而实现手机的输入和输出功能。
手机还可包括至少一种传感器950,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板941的亮度,接近传感器可在手机移动到耳边时,关闭显示面板941和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路960、扬声器961,传声器962可提供用户与手机之间的音频接口。音频电路960可将接收到的音频数据转换后的电信号,传输到扬声器961,由扬声器961转换为声音信号输出;另一方面,传声器962将收集的声音信号转换为电信号,由音频电路960接收后转换为音频数据,再将音频数据输出处理器980处理后,经RF电路910以发送给比如另一手机,或者将音频数据输出至存储器920以便进一步处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块970可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图9示出了WiFi模块970,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器980是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器920内的软件程序和/或模块,以及调用存储在存储器920内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器980可包括一个或多个处理单元;优选的,处理器980可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器980中。
手机还包括给各个部件供电的电源990(比如电池),优选的,电源可以通过电源管理系统与处理器980逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
在本发明实施例中,该终端所包括的处理器980还具有控制执行方法实施例中流程的功能。
值得注意的是,上述终端设备实施例中,所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
另外,本领域普通技术人员可以理解实现上述各方法实施例中的全部或部分步骤是可以通过程序来指令相关的硬件完成,相应的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明实施例揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (18)
1.一种图标构造方法,其特征在于,包括:
获得作为图标使用的图标字体,并存储所述图标字体;
将所述图标字体配置为可用;
在所述应用程序启动后,调用所述图标字体将所述图标字体显示为所述应用程序的图标。
2.根据权利要求1所述方法,其特征在于,所述调用所述图标字体将所述图标字体显示为所述应用程序的图标,包括:
将所述应用程序配置为支持引用第三方编程语言写的库,所述库内包含所述图标字体;并为所述应用程序安装所述库;在所述应用程序调用所述图标字体时,将所述字体图标作为图片的图标进行显示。
3.根据权利要求1所述方法,其特征在于,所述将所述图标字体配置为可用之后,还包括:将所述图标字体转换为可供调用的字体;
所述调用所述图标字体将所述图标字体显示为所述应用程序的图标包括:调用所述图标字体,将所述图标字体作为字体调用并显示为所述应用程序的图标。
4.根据权利要求3所述方法,其特征在于,所述将所述图标字体转换为可供调用的字体,包括:
为所述图标字体添加用户界面控件,并为所述图标字体的控件在控制器里面创建相应的出口连接点并添加相应代码逻辑。
5.根据权利要求1、3或4所述方法,其特征在于,所述获得作为图标使用的图标字体,包括:
获得作为图标使用的矢量图文件,并将所述矢量图文件转换为可缩放矢量图形文件,然后将所述可缩放矢量图形文件转换为图标字体。
6.根据权利要求5所述方法,其特征在于,所述存储所述图标字体包括:
将所述图标字体存入所述应用程序的目录下;为所述应用程序新建标签应用,并将所述图标字体存入所述应用程序的项目的根目录下。
7.根据权利要求3所述方法,其特征在于,所述存储所述图标字体包括:将作为图标使用的字体文件ttf存入系统的资源文件夹作为图标字体;
所述将所述图标字体转换为可供调用的字体,包括:为所述图标字体添加用户界面控件,并为所述图标字体在代码编辑器中添加相应代码逻辑,为所述图标字体创建对应的字体对象,并设置所述字体对象的属性。
8.根据权利要求3所述方法,其特征在于,所述将所述图标字体配置为可用,包括:在所述应用程序的文件支持项中增加所述图标字体的键值。
9.根据权利要求1所述方法,其特征在于,所述调用所述图标字体将所述图标字体显示为所述应用程序的图标,包括:
启动图标字体组件,通过所述图标字体组件获得所述图标字体,然后定义所述图标字体的统一编码及其显示格式,然后按照所述定义的统一编码及其显示格式将所述图标字体转换为图片的图标进行显示。
10.一种终端设备,其特征在于,包括:
字体获取单元,用于获得作为图标使用的图标字体;
字体存储单元,用于存储所述图标字体;
字体配置单元,用于将所述图标字体配置为可用;
字体调用单元,用于在所述应用程序启动后,调用所述图标字体将所述图标字体显示为所述应用程序的图标。
11.根据权利要求10所述终端设备,其特征在于,
所述字体调用单元,具体用于将所述应用程序配置为支持引用第三方编程语言写的库,所述库内包含所述图标字体;并为所述应用程序安装所述库;在所述应用程序调用所述图标字体时,将所述字体图标作为图片的图标进行显示。
12.根据权利要求10所述终端设备,其特征在于,所述终端设备还包括:
字体转换单元,用于在所述字体配置单元将所述图标字体配置为可用之后,将所述图标字体转换为可供调用的字体;
所述字体调用单元,具体用于调用所述图标字体,将所述图标字体作为字体调用并显示为所述应用程序的图标。
13.根据权利要求12所述终端设备,其特征在于,
所述字体转换单元,具体用于为所述图标字体添加用户界面控件,并为所述图标字体的控件在控制器里面创建相应的出口连接点并添加相应代码逻辑。
14.根据权利要求10、12或13所述终端设备,其特征在于,
所述字体获取单元,具体用于获得作为图标使用的矢量图文件,并将所述矢量图文件转换为可缩放矢量图形文件,然后将所述可缩放矢量图形文件转换为图标字体。
15.根据权利要求14所述终端设备,其特征在于,
所述字体存储单元,具体用于将所述图标字体存入所述应用程序的目录下;为所述应用程序新建标签应用,并将所述图标字体存入所述应用程序的项目的根目录下。
16.根据权利要求12所述终端设备,其特征在于,
所述字体存储单元,具体用于将作为图标使用的字体文件ttf存入系统的资源文件夹作为图标字体;
所述字体转换单元,具体用于为所述图标字体添加用户界面控件,并为所述图标字体在代码编辑器中添加相应代码逻辑,为所述图标字体创建对应的字体对象,并设置所述字体对象的属性。
17.根据权利要求12所述终端设备,其特征在于,
所述字体配置单元,具体用于在所述应用程序的文件支持项中增加所述图标字体的键值。
18.根据权利要求10所述终端设备,其特征在于,
所述字体调用单元,具体用于启动图标字体组件,通过所述图标字体组件获得所述图标字体,然后定义所述图标字体的统一编码及其显示格式,然后按照所述定义的统一编码及其显示格式将所述图标字体转换为图片的图标进行显示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510033146.0A CN104978183A (zh) | 2015-01-22 | 2015-01-22 | 一种图标构造方法,及终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510033146.0A CN104978183A (zh) | 2015-01-22 | 2015-01-22 | 一种图标构造方法,及终端设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104978183A true CN104978183A (zh) | 2015-10-14 |
Family
ID=54274722
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510033146.0A Pending CN104978183A (zh) | 2015-01-22 | 2015-01-22 | 一种图标构造方法,及终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104978183A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105549817A (zh) * | 2015-12-09 | 2016-05-04 | 广州阿里巴巴文学信息技术有限公司 | 字体包的生成方法、装置和图形的展示方法、装置 |
CN106202422A (zh) * | 2016-07-12 | 2016-12-07 | 腾讯科技(深圳)有限公司 | 网页图标的处理方法和装置 |
CN106843639A (zh) * | 2016-12-26 | 2017-06-13 | 上海与德信息技术有限公司 | 图标的显示方法和图标的显示装置 |
CN107139724A (zh) * | 2017-03-31 | 2017-09-08 | 斑马信息科技有限公司 | 用于车辆的车载屏幕动态显示方法及其车载中控系统 |
CN107301046A (zh) * | 2017-06-15 | 2017-10-27 | 腾讯科技(深圳)有限公司 | 图标的处理方法和装置、计算机设备和存储介质 |
CN108509196A (zh) * | 2018-03-06 | 2018-09-07 | 北京酷我科技有限公司 | 一种iOS颜色管理策略 |
CN108734662A (zh) * | 2018-05-21 | 2018-11-02 | 腾讯音乐娱乐科技(深圳)有限公司 | 显示图标的方法和装置 |
CN108733357A (zh) * | 2018-05-16 | 2018-11-02 | 北京五八信息技术有限公司 | 存储图片的方法、装置、设备及计算机可读存储介质 |
CN109144619A (zh) * | 2017-06-14 | 2019-01-04 | 阿里巴巴集团控股有限公司 | 图标字体信息处理方法、装置及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070220438A1 (en) * | 2006-03-08 | 2007-09-20 | Fuji Xerox Co., Ltd. | Icon generating device, computer readable medium storing program for generating icon and method for generating icon |
CN103927386A (zh) * | 2014-04-28 | 2014-07-16 | 优视科技有限公司 | 导航图标生成方法和装置 |
-
2015
- 2015-01-22 CN CN201510033146.0A patent/CN104978183A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070220438A1 (en) * | 2006-03-08 | 2007-09-20 | Fuji Xerox Co., Ltd. | Icon generating device, computer readable medium storing program for generating icon and method for generating icon |
CN103927386A (zh) * | 2014-04-28 | 2014-07-16 | 优视科技有限公司 | 导航图标生成方法和装置 |
Non-Patent Citations (2)
Title |
---|
CHRISSELLS等: "《windows 8应用开发实战 使用JavaScript》", 31 January 2014, 机械工业出版社 * |
YOUXIANMING: ""使用FontAwesome"", 《HTTP://WWW.CNBLOGS.COM/YOUXIANMING/P/3756495.HTML》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105549817A (zh) * | 2015-12-09 | 2016-05-04 | 广州阿里巴巴文学信息技术有限公司 | 字体包的生成方法、装置和图形的展示方法、装置 |
CN106202422A (zh) * | 2016-07-12 | 2016-12-07 | 腾讯科技(深圳)有限公司 | 网页图标的处理方法和装置 |
CN106202422B (zh) * | 2016-07-12 | 2018-12-11 | 腾讯科技(深圳)有限公司 | 网页图标的处理方法和装置 |
CN106843639A (zh) * | 2016-12-26 | 2017-06-13 | 上海与德信息技术有限公司 | 图标的显示方法和图标的显示装置 |
CN107139724A (zh) * | 2017-03-31 | 2017-09-08 | 斑马信息科技有限公司 | 用于车辆的车载屏幕动态显示方法及其车载中控系统 |
CN109144619A (zh) * | 2017-06-14 | 2019-01-04 | 阿里巴巴集团控股有限公司 | 图标字体信息处理方法、装置及系统 |
CN107301046A (zh) * | 2017-06-15 | 2017-10-27 | 腾讯科技(深圳)有限公司 | 图标的处理方法和装置、计算机设备和存储介质 |
CN108509196A (zh) * | 2018-03-06 | 2018-09-07 | 北京酷我科技有限公司 | 一种iOS颜色管理策略 |
CN108733357A (zh) * | 2018-05-16 | 2018-11-02 | 北京五八信息技术有限公司 | 存储图片的方法、装置、设备及计算机可读存储介质 |
CN108734662A (zh) * | 2018-05-21 | 2018-11-02 | 腾讯音乐娱乐科技(深圳)有限公司 | 显示图标的方法和装置 |
CN108734662B (zh) * | 2018-05-21 | 2023-02-28 | 腾讯音乐娱乐科技(深圳)有限公司 | 显示图标的方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104978183A (zh) | 一种图标构造方法,及终端设备 | |
US10186244B2 (en) | Sound effect processing method and device, plug-in unit manager and sound effect plug-in unit | |
CN103455348B (zh) | 分区调整方法、装置、终端、服务器及系统 | |
US9740671B2 (en) | Method and apparatus of generating a webpage from an original design file comprising layers | |
CN107741844B (zh) | 一种应用安装包的生成方法和装置 | |
CN105260301A (zh) | 用户界面的视效比对测试装置及其实现方法 | |
CN105320687A (zh) | 网页显示方法及装置 | |
CN105446726A (zh) | 生成网页的方法和装置 | |
CN103702297A (zh) | 短信增强方法、装置及系统 | |
CN106227588A (zh) | 一种多实例对象的创建方法、装置及移动终端 | |
CN104298558A (zh) | 信息处理方法和装置 | |
CN105094809A (zh) | 组合图片布局修改方法、装置以及终端设备 | |
CN104252341A (zh) | 应用程序的换肤方法、装置及应用程序的客户端设备 | |
CN104239332A (zh) | 网页内容处理方法、装置及浏览器客户端 | |
CN105740263A (zh) | 页面显示方法和装置 | |
CN104965716A (zh) | 图标更新方法、客户端装置、及终端设备 | |
CN108153778A (zh) | 网页保存方法、网页读取方法及装置 | |
CN103513987A (zh) | 一种浏览器网页的渲染处理方法、装置及终端设备 | |
CN104869465A (zh) | 视频播放控制方法和装置 | |
CN105955739A (zh) | 一种图形界面的处理方法、装置和系统 | |
CN103607431B (zh) | 移动终端资源处理方法、装置和设备 | |
CN103631580A (zh) | 一种生成主题图标的方法和装置 | |
CN106293738A (zh) | 一种表情图像的更新方法及装置 | |
CN103713943A (zh) | 基于终端原生操作系统的应用功能实现方法和装置 | |
CN103491421B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20151014 |
|
RJ01 | Rejection of invention patent application after publication |