ทรัพยากรแบบอักษรจะกำหนดแบบอักษรที่กำหนดเองที่คุณใช้ในแอปได้ แบบอักษร อาจเป็นไฟล์แบบอักษรแต่ละไฟล์หรือคอลเล็กชันไฟล์แบบอักษร ซึ่งเรียกว่า ชุดแบบอักษรและที่กำหนดไว้ใน XML
นอกจากนี้ โปรดดูวิธีกำหนดแบบอักษร ใน XML หรือใช้แบบอักษรที่ดาวน์โหลดได้แทน
กลุ่มแบบอักษร
คุณจัดกลุ่มแบบอักษรเป็นทรัพยากรในแอปได้ แบบอักษรจะถูกคอมไพล์ใน
R
และพร้อมใช้งานในระบบโดยอัตโนมัติเป็น
ทรัพยากร จากนั้นคุณสามารถเข้าถึงแบบอักษรเหล่านี้โดยใช้
ประเภททรัพยากร font
- ตำแหน่งที่ตั้งไฟล์:
res/font/filename.ttf
(.ttf
,.ttc
,.otf
หรือ.xml
)
ชื่อไฟล์จะใช้เป็นรหัสทรัพยากร- การอ้างอิงทรัพยากร:
- ใน XML:
@[package:]font/font_name
- ไวยากรณ์:
-
<?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> - องค์ประกอบ:
- ตัวอย่าง:
- ไฟล์ XML ที่บันทึกไว้ที่
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>ไฟล์ XML ที่บันทึกใน
res/layout/
ซึ่งใช้แบบอักษรกับTextView
:<?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!" />
แบบอักษรที่ดาวน์โหลดได้
ทรัพยากรแบบอักษรที่ดาวน์โหลดได้จะกำหนดแบบอักษรที่กำหนดเองที่คุณสามารถใช้ใน แอป แบบอักษรนี้ไม่มีอยู่ในตัวแอปเอง โดยใช้แบบอักษร ที่ดึงมาจากผู้ให้บริการแบบอักษร
- ตำแหน่งที่ตั้งไฟล์:
res/font/filename.xml
ชื่อไฟล์คือรหัสทรัพยากร- การอ้างอิงทรัพยากร:
- ใน XML:
@[package:]font/font_name
- ไวยากรณ์:
-
<?xml version="1.0" encoding="utf-8"?>
<font-family
android:fontProviderAuthority="authority"
android:fontProviderPackage="package"
android:fontProviderQuery="query"
android:fontProviderCerts="@[package:]array/array_resource" /> - องค์ประกอบ:
- ตัวอย่าง:
- ไฟล์ XML ที่บันทึกไว้ที่
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>ไฟล์ XML ที่บันทึกใน
res/values/
ซึ่งกำหนดอาร์เรย์ใบรับรอง:<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="certs">
<item>MIIEqDCCA5CgAwIBAgIJA071MA0GCSqGSIb3DQEBBAUAMIGUMQsww...</item>
</string-array>
</resources>ไฟล์ XML ที่บันทึกใน
res/layout/
ซึ่งใช้แบบอักษรกับTextView
:<?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!" />