Um recurso de fonte define uma fonte personalizada que você pode usar no seu app. As fontes podem ser arquivos de fontes individuais ou um conjunto de arquivos de fontes, conhecido como uma família de fontes e definido em XML.
Veja também como definir fontes em XML ou usar fontes para download.
Pacote de fontes
Você pode empacotar fontes como recursos em um app. As fontes são compiladas em arquivos
R
e ficam disponíveis automaticamente no sistema como um
recurso. Em seguida, você pode acessar essas fontes com ajuda do
tipo de recurso font
.
- localização do arquivo:
res/font/filename.ttf
(.ttf
,.ttc
,.otf
ou.xml
)
O nome do arquivo é usado como ID de recurso.- referência de recurso:
- Em XML:
@[package:]font/font_name
- sintaxe:
-
<?xml version="1.0" encoding="utf-8"?> <font-family> <font android:font="@[package:]font/font_to_include" android:fontStyle=["normal" | "italic"] android:fontWeight="weight_value" /> </font-family>
- elementos:
- exemplo:
- Arquivo XML salvo em
res/font/lobster.xml
:<?xml version="1.0" encoding="utf-8"?> <font-family xmlns:android="http://schemas.android.com/apk/res/android"> <font android:fontStyle="normal" android:fontWeight="400" android:font="@font/lobster_regular" /> <font android:fontStyle="italic" android:fontWeight="400" android:font="@font/lobster_italic" /> </font-family>
O arquivo XML que aplica a fonte a um
TextView
é salvo emres/layout/
:<?xml version="1.0" encoding="utf-8"?> <EditText android:fontFamily="@font/lobster" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Hello, World!" />
Fonte para download
Um recurso de fonte para download define uma fonte personalizada que você pode usar em um app. Essa fonte não está disponível no app, mas é recuperada de um provedor de fontes.
- localização do arquivo:
res/font/filename.xml
O nome do arquivo é usado como ID de recurso.- referência de recurso:
- Em XML:
@[package:]font/font_name
- sintaxe:
-
<?xml version="1.0" encoding="utf-8"?> <font-family android:fontProviderAuthority="authority" android:fontProviderPackage="package" android:fontProviderQuery="query" android:fontProviderCerts="@[package:]array/array_resource" />
- elementos:
- exemplo:
- Arquivo XML salvo em
res/font/lobster.xml
:<?xml version="1.0" encoding="utf-8"?> <font-family xmlns:android="http://schemas.android.com/apk/res/android" android:fontProviderAuthority="com.example.fontprovider.authority" android:fontProviderPackage="com.example.fontprovider" android:fontProviderQuery="Lobster" android:fontProviderCerts="@array/certs"> </font-family>
O arquivo XML que define a matriz cert é salvo em
res/values/
:<?xml version="1.0" encoding="utf-8"?> <resources> <string-array name="certs"> <item>MIIEqDCCA5CgAwIBAgIJA071MA0GCSqGSIb3DQEBBAUAMIGUMQsww...</item> </string-array> </resources>
O arquivo XML que aplica a fonte a um
TextView
é salvo emres/layout/
:<?xml version="1.0" encoding="utf-8"?> <EditText android:fontFamily="@font/lobster" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Hello, World!" />