【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。

現在,你再運行一次看看。

看到了吧,我這么誠實的人,怎么會騙你呢?

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM