2013-06-26 25 views
1

我想在我的一種佈局中使用roboto-thin字體,但是當我將字體系列設置爲「sans-serif-thin」時,字體默認爲斜體,我無法強制它是正常的。sans-serif-thin默認爲斜體?

<TextView 
    android:id="@+id/textLabel" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@id/firstLabel" 
    android:fontFamily="sans-serif-thin" 
    android:text="for this week" 
    android:textSize="30sp" 
    android:textStyle="normal" 
    android:layout_marginTop="-15dp" /> 

任何人都可以告訴我在佈局中使用roboto-thin正常樣式字體的正確方法嗎?

回答

1

我在我的4.2.2和2.2設備上測試了你的代碼,都顯示正常的字體,沒有斜體。也許你已經在代碼中的某個地方動態設置了不同的文本樣式。

+1

那麼,你是對的。事情是,在圖形佈局設計器(或預覽器,如果你願意的話),它確實顯示斜體樣式。 謝謝! :) – fobia

+0

我不認爲任何人都可以保證預覽器的正確性。最安全的方法是在模擬器上進行測試,或者更好的是儘可能使用真實的設備。 – Neoh

0

您應該在資產文件夾上創建文件夾字體並將字體XX.ttf放在那裏。 然後,使用:

TextView txt = (TextView) findViewById(R.id.title); 
Typeface font = Typeface.createFromAsset(getAssets(), "XX.ttf"); 
txt.setTypeface(font); 
+0

是的,如果我想在4.1以下的設備上使用字體,如果我沒有弄錯,情況就是這樣。 Roboto字體默認從4.1開始包含。 感謝您的幫助! :) – fobia