https://developer.android.com/preview/features/working-with-fonts.html在XML API中使用字體<26
的Android API 26支持這一點,但我們有一個支持庫,可以提供使用的字體作爲資源的資源? [XML中的字體]如果是,則支持哪些API?
我說的是Android O SDK功能,它允許我們按照上面的鏈接給出的XML設置字體。這當然不是MM中的本地功能。
https://developer.android.com/preview/features/working-with-fonts.html在XML API中使用字體<26
的Android API 26支持這一點,但我們有一個支持庫,可以提供使用的字體作爲資源的資源? [XML中的字體]如果是,則支持哪些API?
我說的是Android O SDK功能,它允許我們按照上面的鏈接給出的XML設置字體。這當然不是MM中的本地功能。
據谷歌它被支撐在的Android 4.0+只要滿足這些條件(API 14+) :
來源:
Fonts in XML - Using the support library
Support Library revision history
我希望我能在應用小部件上的Android版本早於8使用這個(API 26) ,但這是不可能的,因爲AppCompatTextView不能在應用程序小部件中使用。 Android O的「XML中的字體」(如Caligraphy庫)的第三方替代品都不能在應用程序窗口小部件中使用。
爲應用小部件唯一的替代方法是使用ImageView的代替TextView的並使用RemoteViews方法如setImageViewUri(...)和setImageViewBitmap(...),兩者的這是有問題的。
謝謝。爲什麼其他人說它是一個本地功能?我使用SDK Android Studio 2.3.2。我嘗試使用@ font/arial.ttf。它沒有工作。我正在使用支持庫版本25.3.1。現在我知道什麼是錯的。 – sziraqui
做了這項工作?有些人說你必須升級到Android Studio 3才能正常工作。 – user1506104
感謝您的指針。我將我的
下面是一個例子,分SDK支撐件18(在應用程序)
對於API
鑑於超過26下需要使用app:fontFamily="@font/custom_font_from_resource"
代替android:font
與支持的lib工作26+
有些用戶會登陸到這個搜索頁面上的指示,在您的應用程序中使用自定義字體從XML。下面是我做的:
默認情況下字體資源目錄不存在。您可以通過以下的documentation here [工作太多了]
手動創建或從GUI的
使用字體選擇選擇設計標籤一個TextView。
打開下拉的fontFamily
xml屬性。
向下滾動到「更多字體」。
選擇從出現的彈出一個「可下載字體」。
的Android Studio會自動創建與文檔上述必要的聲明的字體資源目錄。這一步後,您可以複製自定義字體文件(說myfont.ttf)的字體目錄,並從XML設置所需的字體,例如:
<TextView
android:fontFamily="@font/myfont"
android:id="@+id/aboutus_head_textview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/who_are_we" />
如果您想使用整個應用程序相同的字體,你可以設置fontFamily中的AppTheme在styles.xml:
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<!-- custom font for the entire app -->
<item name="fontFamily">@font/myfont</item>
</style>
[前綴fontFamily中有android:
如果以上沒有工作]
截圖:
注:這個答案假定您使用過Android Studio 3 +和支持庫版本26+
我在其中一個應用程序中使用了此功能,它支持從API 18到API 18的功能。據我所知,沒有限制。我停止支持API 8,但我想它也可以與它一起工作。 –
你已經添加到gradle的庫? – sziraqui
NONE。這是一個本地功能。順便說一下,Eclipse並不需要所有的「Gradle事物」;) –