【WP 8.1开发】如何把自定义字体塞进应用里
或许,系统自带的字体不足以体现应用程序的魅力,对于表现极强的汉字来说,更是如此。这时候,我们就会想,要是能把网上下载的艺术字体塞到应用包中,那岂不美哉?那么,这可以实现吗?答案是Yes的。
接下来,阿拉就给大家分别演示WP 8.1两个开发框架中如何嵌入自定义字体。
为啥是两大框架?我们知道从7x到8.0的开发框架是Silverlight for Windows Phone,为了便于兼容和直接项目升级,在8.1中,微软的开发团队依然保留了这个框架;另外一个框架是从Win RT应用移植的API集,这个不用我多说了,猜也猜到了,就是方便编写与Windows 平板应用通用应用而准备的。
当然,如果仅仅打算开发WP应用,那么两个框架都可以用,你看哪个顺眼就用哪个,无所谓,大同小异;如果你计划编写通用程序,那只能选择运行时API集,即从RT应用移植过来的子集。
但我告诉你,无论是哪个框架,都没什么本质区别,至少用起来是一样的,微软后来许多开发技术都是从WPF中来的,保存了很好的延续性,你只要学会WPF,其他的框架就可以不学自通了。
总之,记住我的一句话:技术和知识永远是死的,人永远是活的,不要把知识学死了。
运行时API
先看看在运行时API下如何嵌入自定义字体。这个就灰常简单了。
1、打开万能的VS,新建一个项目,项目模板选择“空白应用程序(Windows Phone)”,凡是括号中指明“Windows Phone”的模板都是基于从RT移植的运行时API的。如图。
2、打开“解决方案资源管理器”窗口(不要问我在哪里),用鼠标右键拼命点击项目名称节点,从弹出的菜单中选择“添加”-“现有项”,选择一个字体文件,字体可以网上下,多得是。
3、打开MainPage.xaml页,声明一个TextBlock元素,然后在XAML编辑器中选中这个TextBlock,接着打开属性窗口,找到FontFamily属性,点击下拉列表,你就会看到刚添加到项目的字体文件了。
注意看,添加到项目的自定义字体的右边会多了一个A符号。这样就会生成以下XAML:
<TextBlock FontFamily="禹卫书法行书简体.ttf#yuweij" ……
连URL都不用自己写了,从中我们看到引用字体文件的方法是“文件URL + # + 字体名称”。#后面就是字体的名字。
4、搞定,现在往TextBlock中放些文本。
<TextBlock FontFamily="禹卫书法行书简体.ttf#yuweij" FontSize="50">《登黄鹤楼》<LineBreak/>崔颢<LineBreak/>昔人已乘黄鹤去,<LineBreak/>此地空余黄鹤楼。<LineBreak/>黄鹤一去不复返,<LineBreak/>白云千载空悠悠。<LineBreak/>晴川历历汉阳树,<LineBreak/>芳草萋萋鹦鹉州。<LineBreak/>日暮乡关何处是,<LineBreak/>烟波江上使人愁。</TextBlock>
现在,可以运行一下了。看看应用页面,是不是发现,气质马上提升了九个档次?
Silverlight框架
SL框架也是可以嵌入字体的,和上面的差不多。
1、新建一个项目,项目模板为“空白应用程序(Windows Phone Silverlight)”,凡是用SL框架的项目模板,括号中都会注明“Windows Phone Silverlight”。
版本就选8.1吧。
2、打开“解决方案资源管理器”窗口,右击项目节点,从弹出的菜单中选择“添加”-“现有项”,把自定义字体文件添加进来。
3、打开MainPage主页,声明一个TextBlock元素,然后在XAML编辑器中选中它,并打开属性窗口。找到FontFamily属性,从下拉列表中选择刚刚添加的字体。
这时候,生成的XAML中同样向我们展示了其URL格式:
<TextBlock FontFamily="/CustFontfamilyAppSL;component/禹卫书法行书简体.ttf#yuweij"/>
格式同样是“字体文件URL + # + 字体名字”。
4、现在,可以往TextBlock中放点文本,以体验一下。
<TextBlock FontFamily="/CustFontfamilyAppSL;component/禹卫书法行书简体.ttf#yuweij" FontSize="50">《秋窗风雨夕》<LineBreak/>秋花惨淡秋草黄,<LineBreak/>耿耿秋灯秋夜长。<LineBreak/>已觉秋窗秋不尽,<LineBreak/>那堪风雨助凄凉。<LineBreak/>……<LineBreak/>泪烛摇摇爇短檠,<LineBreak/>牵愁照恨动离情。<LineBreak/>谁家秋院无风入?<LineBreak/>何处秋窗无雨声。<LineBreak/>……<LineBreak/>不知风雨几时休,<LineBreak/>已教泪洒窗纱湿。</TextBlock>
然后,我们可以运行了,看看结果吧。
估计此刻有人已经在骂我是骗子了,为什么运行后看不到自定义的字体啊?
莫急,莫急,镇定是一笔财富,千万别急。先结束调试项目,然后打开“解决方案资源管理器”,找到刚才添加到项目的字体文件,并且选中它,然后打开属性窗口,将“生成操作”改为Resource。
现在,你再运行一次看看。
看到了吧,我这么诚实的人,怎么会骗你呢?
【WP 8.1开发】如何把自定义字体塞进应用里相关推荐
- 移动视频开发让我们把会议室装进口袋里
移动视频开发让我们把会议室装进口袋里 在这个时代,手机被开发者们所赋予的意义已经远远超出了大众的期望,与上网.完成电子购物.读书.看杂志相比,似乎打电话.发信息这些原本最主要的部分却变成了辅助功能. ...
- iOS开发小结 - 使用自定义字体
APP开发过程中,根据美工的需求可能会用到一些特殊的字体,然而在苹果自带字体中并没有,那就必须我们开发来来实现这些功能呢,下面以冬青黑体简体中文(Hiragino Sans GB)为例子给大家演示一下 ...
- android 开发app使用自定义字体
在Android中是可以在开发app的时候使用自定义字体的. 在开发app的时候,界面可能要使用到第三方的字体,这时候就需要执行如下操作: 1.在项目中创建font文件夹,存放第三方字体的ttf文件 ...
- iOS游戏开发中使用自定义字体的方法
方法1: 添加对应的字体(.ttf或.odf)到工程的resurce,使用cocos2d中的FontLabel库,FontLabel继承于UILabel,象UILabel一样使用就好了 fontNam ...
- 如何在iOS应用中使用自定义字体
最近的项目需求需要使用新的字体,而且是在 所有地方 也就是说不管是普通的cell中的label,还是导航栏中的标题,都要使用设计新给出的字体.而新的字体包含在一个ttf的文件中. 乍一听到是挺浩大的一 ...
- android 开发 字体,Android开发使用自定义字体的实现方法
释放双眼,带上耳机,听听看~! 1.Android系统默认支持三种字体,分别为:"sans", "serif", "monospace 2.在Andr ...
- android 自定义刷新控件,Android开发中MJRefresh自定义刷新动画效果
有时候我们对自己开发的项目经常不满意,但是我们要达到自定义刷新动画的效果有一定的难度,别着急,下面爱站技术频道和大家分享Android开发中MJRefresh自定义刷新动画效果,一起来学习吧! [一] ...
- 01_MUI之Boilerplate中:HTML5示例,动态组件,自定义字体示例,自定义字体示例,图标字体示例
1安装HBuilder5.0.0,安装后的界面截图如下: 2 按照https://www.muicss.com/docs/v1/css-js/boilerplate-html中的说明,创建上图的 ...
- Android软件开发之盘点自定义View界面大合集(二)
Android软件开发之盘点自定义View界面大合集(二) - 雨松MOMO的程序世界 - 51CTO技术博客 雨松MOMO带大家盘点Android 中的自定义View界面的绘制 今天我用自己写的一个 ...
- ios 自定义字体_如何仅用几行代码在iOS应用中创建一致的自定义字体
ios 自定义字体 by Yuichi Fujiki 藤木雄一 In this article, you'll learn how to create a unified custom look th ...
最新文章
- ASP.NET MVC使用Bootstrap系列(3)——使用Bootstrap 组件
- java初学之stream
- QMsgPack的用法DEMO
- javascript的stack overflow
- 【WPF学习】第五十章 故事板
- Zend Studio 10.6正式版注册破解地址
- python切片的对象_Python 对象切片
- 韩国咖啡连锁店Tom N Toms将发布TomTom代币
- JSK-22 排序后的数组删除重复数字【入门】
- 五大地形等高线特征_等高线顺口溜如何判别等值线的高度
- python中出现nameerror_python类中出现NameError的问题
- 平房误差函数_最小平方误差准则函数.ppt
- 科技热点周刊|马斯克卖掉特斯拉 10% 股票;Facebook 停用面部识别系统;微软拥抱 Metaverse;雅虎退出中国
- 数学基础一:直线方程Ax+By+C=0
- JAVA面试、笔试题
- 9flash:个人网站商业化之蜕
- 2021年建筑架子工(建筑特殊工种)考试题库及建筑架子工(建筑特殊工种)模拟试题
- 同位素标记其他的研究方法和技术
- 微领地商业模式开发 软件开发
- mount -o rw,remount /system /system’ not in /proc/mounts