我需要爲我的應用中的不同標籤指定不同的FontFamily。我需要使用默認字體(例如Roboto for Android和Helvetica for iOS)及其修改(例如Light,Medium,Bold)。據我瞭解,我應該使用Roboto-Light和Helvetica-Light來獲得Light版本的字體(對於Medium和Bold來說也是一樣)。 除了這個要求,我需要設置字體在XAML(如described in documentation),所以我結束了這段代碼XAMARIN:跨平臺FontFamily
<StackLayout BackgroundColor="#F8F8F8" Padding="0, 20, 0, 0">
<Label Text="Black" TextColor="#000000" >
<Label.FontSize>
<OnPlatform x:TypeArguments="x:Double"
iOS="17"
Android="16"
WinPhone="16" />
</Label.FontSize>
<Label.FontFamily>
<OnPlatform x:TypeArguments="x:String">
<OnPlatform.iOS>Helvetica-Black</OnPlatform.iOS>
<OnPlatform.Android>Roboto-Black</OnPlatform.Android>
<OnPlatform.WinPhone></OnPlatform.WinPhone>
</OnPlatform>
</Label.FontFamily>
</Label>
<Label Text="Light" TextColor="#000000">
<Label.FontSize>
<OnPlatform x:TypeArguments="x:Double"
iOS="17"
Android="16"
WinPhone="16" />
</Label.FontSize>
<Label.FontFamily>
<OnPlatform x:TypeArguments="x:String">
<OnPlatform.iOS>Helvetica-Light</OnPlatform.iOS>
<OnPlatform.Android>Roboto-Light</OnPlatform.Android>
<OnPlatform.WinPhone></OnPlatform.WinPhone>
</OnPlatform>
</Label.FontFamily>
</Label>
<Label Text="Medium" TextColor="#000000" >
<Label.FontSize>
<OnPlatform x:TypeArguments="x:Double"
iOS="17"
Android="16"
WinPhone="16" />
</Label.FontSize>
<Label.FontFamily>
<OnPlatform x:TypeArguments="x:String">
<OnPlatform.iOS>Helvetica-Medium</OnPlatform.iOS>
<OnPlatform.Android>Roboto-Medium</OnPlatform.Android>
<OnPlatform.WinPhone></OnPlatform.WinPhone>
</OnPlatform>
</Label.FontFamily>
</Label>
<Label Text="Bold" TextColor="#000000">
<Label.FontSize>
<OnPlatform x:TypeArguments="x:Double"
iOS="17"
Android="16"
WinPhone="16" />
</Label.FontSize>
<Label.FontFamily>
<OnPlatform x:TypeArguments="x:String">
<OnPlatform.iOS>Helvetica-Bold</OnPlatform.iOS>
<OnPlatform.Android>Roboto-Bold</OnPlatform.Android>
<OnPlatform.WinPhone></OnPlatform.WinPhone>
</OnPlatform>
</Label.FontFamily>
</Label>
然而,結果Android是意想不到的。不同標籤的FontFamily不會更改。他們都看起來一樣。
iOS中相同的代碼工作預期
我的問題是:如何獲得的Roboto光強,的Roboto介質和的Roboto粗體字體在我的Android應用程序中,如果下面的XAMARIN文檔不起作用?
感謝您注意到sans-serif字體家族實際上使用了自Android 4.1以來的Roboto字體。 我只有一個除了你的答案。請注意,不像helvetika-bold,沒有sans-serif-bold(或類似的)字體。爲了將字體設置爲粗體,我將Label.FontAttributes屬性設置爲粗體。這實現了我的要求。或者至少在設計師看看應用程序之前實現它們:) –
第一個答案[here](http://stackoverflow.com/questions/12128331/how-to-change-fontfamily-of-textview-in- android)也證實了這一說法。 –
@SushiHangover - 您上面張貼的鏈接現在表示自定義字體現在可在Android上使用。不過,儘管遵循了文章中的步驟,但我並未在Android上看到我的自定義字體。你知道自定義字體實際上是否仍然不支持Android? –