自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

深度解析Android中字體設(shè)置

移動(dòng)開發(fā) Android
只能手機(jī)對同志們,推薦下面對這篇文章,快玩轉(zhuǎn)自己的手機(jī)吧。

1、在Android XML文件中設(shè)置字體

可以采用Android:typeface,例如android:typeface=”monospace”。在這里例子中我們在Activity中對android:text=”Hello, World! 您好”分別進(jìn)行了四種顯示方式,依次為“Sans”,“serif”,“monospace”和系統(tǒng)缺省方式(經(jīng)試驗(yàn)缺省采用采用sans)。英文字體有差異,貌似中文字體沒有差異。XML文件如下:

java代碼:

  1. <?xml version=”1.0″ encoding=”utf-8″?>   
  2. <TableLayout … … android:stretchColumns = “1″> 
  3. <TableRow> 
  4. <TextView android:text=”sans:”   
  5. android:layout_marginRight=”4px”   
  6. android:textSize=”20sp” /> 
  7. <TextView android:text=”Hello, World! 您好”  
  8. android:typeface =”sans” <!– android:typeface用于指定字體–>   
  9. android:textSize=”20sp” /> 
  10. </TableRow> 
  11. … …類同,依次設(shè)置兩個(gè)TableRow,分別將sans 修改為serif,monospace … …   
  12. <TableRow>   
  13. <TextView android:text=”custom:” …. />   
  14. <TextView android:id=”@+id/c12_custom”   
  15. android:text=”Hello, World! 您好”   
  16. android:textSize=”20sp” />   
  17. </TableRow>   
  18. </TableLayout> 

2、使用其他字體

1)將新字體的TTF文件copy到assets/fonts/目錄下面,例如我們將“*.ttf”copy了過去。

2)我們需要將widget設(shè)置為該字體,比較遺憾的是,不能直接在XML文件中進(jìn)行,需要編寫源代碼。

java代碼:

  1. TextView tv = (TextView)findViewById(R.id.c12_custom);  
  2. //從assert中獲取有資源,獲得app的assert,采用getAserts(),通過給出在assert/下面的相對路徑。在實(shí)際使用中,字體庫可能存在于SD卡上,可以采用createFromFile()來替代createFromAsset。   
  3. Typeface face = Typeface.createFromAsset (getAssets() , “fonts/timesi.ttf” );  
  4. tv.setTypeface (face); 

我在模擬器中先后導(dǎo)入華文行楷的字體,大約4M,但是系統(tǒng)無法識(shí)別出該字體,沒有顯示,然后嘗試使用英文字體timesi.ttf,正常。因此Android并非和所有的TTF字體都能兼容,尤其在中文特殊字體的支持會(huì)存在問題,對于不兼容的字體,Android不出報(bào)錯(cuò),只是無法正常顯示。一般而言我們都會(huì)使用系統(tǒng)缺省提供的字體。
對于華文行楷字體,我們一開始使用的文件是中文名字,出現(xiàn)報(bào)錯(cuò),后來我們將之改為全小寫的英文名稱就不會(huì)出錯(cuò),所以在文件命名上需要注意。

3、一些注意

使用其他字庫,都會(huì)消耗程序的空間,這是要非常注意的。而且這些字庫有時(shí)并不能完全提供你所需要的文字。
 舉個(gè)例子,省略方式。當(dāng)文字太多的時(shí)候,可以通過省略號(hào)省略后面的內(nèi)容,省略號(hào)是使用“…”作為一個(gè)字體,可通過android:ellipsize屬性進(jìn)行設(shè)置。如果我們需要使用省略功能,需要確保字體具有省略號(hào)。此外,為了保證長度的一直,Android會(huì)進(jìn)行填充處理,除了將一個(gè)字符更換為省略符合外,后面的字符將更換為一個(gè)特殊的Unicode字符,‘ZERO WIDTH NO-BREAK SPACE’ (U+FEFF)。這個(gè)字符并占用任何可視的位置,但是保障了string具有同樣的長度。不是所有的字體都支持這個(gè)特殊的字符,可能會(huì)引發(fā)一些亂碼現(xiàn)象。

【編輯推薦】

Android學(xué)習(xí)筆記:Activity跳轉(zhuǎn)

Android開發(fā):Activity之間的傳值

Android SDK 1.6之下讀取手機(jī)聯(lián)系人

Android應(yīng)用開發(fā)教程:兩個(gè)運(yùn)行的Activity之間的通信

責(zé)任編輯:zhaolei 來源: 開發(fā)者
相關(guān)推薦

2011-06-02 11:13:10

Android Activity

2021-10-12 11:07:33

動(dòng)畫深度Android

2010-03-17 10:04:07

2010-09-10 09:21:08

無線網(wǎng)絡(luò)隱藏設(shè)置

2014-10-15 09:35:26

Android Wea

2011-04-15 13:24:27

Android 3.0Android蜂巢

2024-01-11 12:14:31

Async線程池任務(wù)

2011-06-21 18:02:14

Qt 動(dòng)態(tài) 鏈接庫

2011-08-15 17:58:22

IOS開發(fā)編碼轉(zhuǎn)換

2011-07-27 17:02:12

Xcode iPhone 單元測試

2010-09-25 09:53:40

無線網(wǎng)絡(luò)

2009-08-17 07:43:42

Linux命令行安裝字linux命令行安裝彩色字體設(shè)置

2010-08-09 15:52:28

2010-09-06 10:16:21

CSS字體

2011-04-01 15:14:01

zabbixsnmp trap

2013-12-09 10:34:12

2023-03-06 11:13:20

Spring注解加載

2023-03-13 08:12:25

@DependsOn源碼場景

2017-09-25 10:51:16

替換字體方式

2023-03-27 08:12:40

源碼場景案例
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)