天天看點

Android 自定義字型(引入外部字型)

做android開發的時候,一些軟體會要求一些特殊字型,我們需要引入外部的ttf格式的字型到程式中,具體操作步驟為:

在安卓應用程式的目錄assets中建立fonts目錄,将我們需要使用的ttf字型檔案複制進去,然後代碼:

如果想整個頁面都使用同樣的字型,可以使用批處理,新增一個java類,如下:

<code>public</code> <code>class</code> <code>fontmanager {  </code>

<code>   </code> 

<code>    </code><code>public</code> <code>static</code> <code>void</code> <code>changefonts(viewgroup root, activity act) {  </code>

<code>       </code><code>typeface tf = typeface.createfromasset(act.getassets(),  </code>

<code>              </code><code>"fonts/xxx.ttf"</code><code>);  </code>

<code>       </code><code>for</code> <code>(</code><code>int</code> <code>i = </code><code>0</code><code>; i &lt; root.getchildcount(); i++) {  </code>

<code>           </code><code>view v = root.getchildat(i);  </code>

<code>           </code><code>if</code> <code>(v </code><code>instanceof</code> <code>textview) {  </code>

<code>              </code><code>((textview) v).settypeface(tf);  </code>

<code>           </code><code>} </code><code>else</code> <code>if</code> <code>(v </code><code>instanceof</code> <code>button) {  </code>

<code>              </code><code>((button) v).settypeface(tf);  </code>

<code>           </code><code>} </code><code>else</code> <code>if</code> <code>(v </code><code>instanceof</code> <code>edittext) {  </code>

<code>              </code><code>((edittext) v).settypeface(tf);  </code>

<code>           </code><code>} </code><code>else</code> <code>if</code> <code>(v </code><code>instanceof</code> <code>viewgroup) {  </code>

<code>              </code><code>changefonts((viewgroup) v, act);  </code>

<code>           </code><code>}  </code>

<code>       </code><code>}  </code>

<code>    </code><code>}  </code>

<code>} </code>

繼續閱讀