Saya mencoba menggunakan font khusus di Android Studio seperti yang kami lakukan di Eclipse. Namun sayangnya tidak bisa mencari tahu di mana harus meletakkan folder 'aset'!
Saya mencoba menggunakan font khusus di Android Studio seperti yang kami lakukan di Eclipse. Namun sayangnya tidak bisa mencari tahu di mana harus meletakkan folder 'aset'!
Jawaban:
Pembaruan 2020:
Buat folder bernama font di dalam folder res dan salin font Anda
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fontFamily="@font/abc_font" />
Untuk penggunaan terprogram:
textView.setTypeface(ResourcesCompat.getFont(context, R.font.abc_font))
Pilih File> Baru> Folder> Folder Aset
Klik selesai
Klik kanan pada aset dan buat folder yang disebut font
Letakkan file font Anda di aset > font
Gunakan kode di bawah ini untuk mengubah font textView Anda
TextView textView = (TextView) findViewById(R.id.textView);
Typeface typeface = Typeface.createFromAsset(getAssets(), "fonts/yourfont.ttf");
textView.setTypeface(typeface);
Ada banyak cara untuk mengatur keluarga font kustom di lapangan dan saya menggunakan seperti itu di bawah ini.
Untuk menambahkan font sebagai sumber daya, lakukan langkah-langkah berikut di Android Studio:
1) Klik kanan folder res dan pergi ke direktori sumber daya> Android baru. Jendela New Resource Directory muncul.
2) Di daftar Tipe sumber daya, pilih font, lalu klik OK.
Catatan: Nama direktori sumber daya harus font.
3) Tambahkan file font Anda di folder font.

Tambahkan font dalam tampilan yang diinginkan dalam file xml Anda:
Catatan: Tetapi Anda memerlukan hal-hal berikut untuk itu:
Android Studio di atas ke kenari 3.0.
Aktivitas Anda memperluas AppCompatActivity.
Perbarui file Gradle Anda seperti itu:
compileSdkVersion 26
buildToolsVersion "26.0.1"
defaultConfig {
minSdkVersion 19
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildtoolsVersiondi atas ke 26 dan minimum yang targetSdkVersiondiperlukan 26
classpath 'com.android.tools.build:gradle:3.0.0-beta4'
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
Saya pikir alih-alih mengunduh file .ttf kita dapat menggunakan font Google. Ini sangat mudah diterapkan. hanya Anda yang harus mengikuti langkah-langkah ini.
langkah 1) Buka layout.xml proyek Anda dan keluarga font tertentu dari tampilan teks dalam atribut (untuk cuplikan layar referensi terlampir)

langkah 2) Pilihan in font family pilih More fonts .. jika font Anda tidak ada. maka Anda akan melihat jendela baru akan terbuka, di sana Anda dapat mengetikkan font yang diperlukan Anda & pilih font yang diinginkan dari daftar itu yaitu) Reguler, Tebal, Miring dll. seperti yang ditunjukkan pada gambar di bawah ini.

langkah 3) Kemudian Anda akan melihat folder font akan dibuat secara otomatis di / res folder yang memiliki file xml font yang Anda pilih.
Kemudian Anda dapat langsung menggunakan keluarga font ini dalam xml sebagai
android:fontFamily="@font/josefin_sans_bold"
atau secara tata bahasa Anda dapat mencapai ini dengan menggunakan
Typeface typeface = ResourcesCompat.getFont(this, R.font.app_font);
fontText.setTypeface(typeface);
Halo di sini kita memiliki cara yang lebih baik untuk menerapkan font di EditTeks dan TextViews di android sekaligus dan menerapkannya di seluruh proyek.
Pertama-tama Anda perlu membuat folder font. Inilah Langkah-langkahnya.
1: Buka (folder proyek) Kemudian app> src> main
2: Buat folder bernama 'aset / font' ke dalam folder utama.
3: Masukkan font Anda ke dalam folder font. Di Sini Saya Punya 'MavenPro-Regular.ttf'
Berikut adalah Langkah-langkah untuk menerapkan font khusus pada EditText dan menggunakan pendekatan ini Anda dapat menerapkan font pada setiap input.
1: Buat Kelas MyEditText (nama pilihan Anda ...)
2: yang memperluas EditText
3: Terapkan font Anda
Berikut ini contoh kode;
public class MyEditText extends EditText {
public MyEditText(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
init();
}
public MyEditText(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public MyEditText(Context context) {
super(context);
init();
}
private void init() {
if (!isInEditMode()) {
Typeface tf = Typeface.createFromAsset(getContext().getAssets(), "fonts/MavenPro-Regular.ttf");
setTypeface(tf);
}
}
}
Dan di sini adalah kode cara menggunakannya.
MyEditText editText = (MyEditText) findViewById(R.id.editText);
editText.setText("Hello");
Atau di File xml Anda
<MyEditText
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:textColor="#fff"
android:textSize="16dp"
android:id="@+id/editText"
/>
Dengan Support Library 26.0 (dan Android O) font dapat dimuat dari sumber dengan mudah dengan:

Typeface typeface = ResourcesCompat.getFont(Context context, int fontResourceId)
Info lebih lanjut dapat ditemukan di sini.
Saya ingin menambahkan jawaban saya untuk Android-O dan Android Studio 2.4
Buat folder bernama font di bawah folder res . Unduh berbagai font yang ingin Anda tambahkan ke proyek Anda, misalnya font Google
Di dalam keluarga font pengguna xml Anda
contoh:
<TextView
android:fontFamily="@font/indie_flower"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="10dp"
android:text="@string/sample_text" />
3.Jika Anda menginginkannya dengan cara terprogram gunakan kode berikut
Typeface typeface = getResources().getFont(R.font.indie_flower);
textView.setTypeface(typeface);
untuk informasi lebih lanjut ikuti tautan ke posting blog saya Gaya font untuk Android dengan Android Studio 2.4
Sesuai fitur baru yang tersedia di Android O, sumber daya font dalam XML tersedia sebagai fitur baru.
Untuk menambahkan font sebagai sumber daya, lakukan langkah-langkah berikut di Android Studio:
1) Klik kanan folder res dan pergi ke direktori sumber daya> Android baru . Jendela New Resource Directory muncul.
2) Di daftar Tipe sumber daya, pilih font , lalu klik OK.
Catatan: Nama direktori sumber daya harus font.
3) Tambahkan file font Anda di folder font.
Anda dapat mengakses sumber daya font dengan bantuan jenis sumber daya baru, font. Misalnya, untuk mengakses sumber daya font, gunakan @ font / myfont, atau R.font.myfont.
misalnya. Typeface typeface = getResources().getFont(R.font.myfont);
textView.setTypeface(typeface);
Anda dapat menggunakan pustaka pihak ketiga EasyFonts yang mudah & sederhana untuk mengatur berbagai jenis font khusus untuk Anda TextView. Dengan menggunakan perpustakaan ini Anda tidak perlu khawatir mengunduh dan menambahkan font ke folder aset / font. Juga tentang pembuatan objek Typeface. Anda akan bebas dari membuat folder aset juga.
Secara sederhana:
TextView myTextView = (TextView)findViewById(R.id.myTextView);
myTextView.setTypeface(EasyFonts.robotoThin(this));
Ada banyak jenis font yang disediakan oleh perpustakaan ini.
Pertama tambahkan file font.ttf pada Folder font. Kemudian Tambahkan baris ini dalam metode onCreate
Typeface typeface = ResourcesCompat.getFont(getApplicationContext(), R.font.myfont);
mytextView.setTypeface(typeface);
Dan ini adalah xml saya
<TextView
android:id="@+id/idtext1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="7dp"
android:gravity="center"
android:text="My Text"
android:textColor="#000"
android:textSize="10sp"
/>
Untuk menetapkan font ke textView:
TextView textView = (TextView) findViewById(R.id.your_textView);
final Typeface font = Typeface.createFromAsset(context.getAssets(), "fonts/your_font_name");
nama_anda_Anda termasuk ekstensi font.
Jika Anda sangat baru di Android seperti saya, ini bisa sedikit rumit. Pastikan Anda menelepon:
TextView myTextView = (TextView) findViewById(R.id.textView);
Typeface typeface=Typeface.createFromAsset(getAssets(), "fonts/your font.ttf");
myTextView.setTypeface(typeface);
metode dalam metode seperti onCreate.
Android 8.0 (API 26) memperkenalkan fitur baru yang terkait dengan font.
1) Font dapat digunakan sebagai sumber daya.
2) Fon yang dapat diunduh.
Jika Anda ingin menggunakan font eksternal dalam aplikasi Android Anda, Anda dapat memasukkan file font di apk atau mengkonfigurasi font yang dapat diunduh.
Termasuk file font di APK : Anda dapat mengunduh file font, menyimpannya dalam res / font filer, mendefinisikan keluarga font dan menggunakan keluarga font dalam gaya.
Untuk detail lebih lanjut tentang penggunaan font khusus sebagai sumber, lihat http://www.zoftino.com/android-using-custom-fonts
Mengkonfigurasi font yang dapat diunduh : Tentukan font dengan memberikan rincian penyedia font, tambahkan sertifikat penyedia font dan gunakan font dalam gaya.
Untuk detail lebih lanjut tentang font yang dapat diunduh lihat http://www.zoftino.com/downloading-fonts-android
Pertama buat assetsfolder lalu buat fontsfolder di dalamnya.
Kemudian Anda dapat mengatur fontdari assetsatau directoryseperti di bawah ini:
public class FontSampler extends Activity {
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
TextView tv = (TextView) findViewById(R.id.custom);
Typeface face = Typeface.createFromAsset(getAssets(), "fonts/HandmadeTypewriter.ttf");
tv.setTypeface(face);
File font = new File(Environment.getExternalStorageDirectory(), "MgOpenCosmeticaBold.ttf");
if (font.exists()) {
tv = (TextView) findViewById(R.id.file);
face = Typeface.createFromFile(font);
tv.setTypeface(face);
} else {
findViewById(R.id.filerow).setVisibility(View.GONE);
}
}
}
Tambahkan font Anda ke folder aset di app / src / main / aset buat tampilan teks khusus seperti ini:
class CustomLightTextView : TextView {
constructor(context: Context) : super(context){
attachFont(context)
}
constructor(context: Context, attrs: AttributeSet): super(context, attrs){
attachFont(context)
}
constructor(context: Context, attrs: AttributeSet?, defStyleAttr: Int) : super(context, attrs, defStyleAttr) {
attachFont(context)
}
fun attachFont(context: Context) {
this.setTypeface(FontCache.getInstance().getLightFont(context))
}
}
Tambahkan FontCache: Agar Anda tidak perlu membuat jenis huruf lagi dan lagi seperti:
class FontCache private constructor(){
val fontMap = HashMap<String,Typeface>()
companion object {
private var mInstance : FontCache?=null
fun getInstance():FontCache = mInstance?: synchronized(this){
return mInstance?:FontCache().also { mInstance=it }
}
}
fun getLightFont(context: Context):Typeface?{
if(!fontMap.containsKey("light")){
Typeface.createFromAsset(context.getAssets(),"Gotham-Book.otf");
fontMap.put("light",Typeface.createFromAsset(context.getAssets(),"Gotham-Book.otf"))
}
return fontMap.get("light")
}
}
Dan Anda selesai!
PSFdari Android O, Anda dapat langsung menambahkan font.
letakkan font di folder aset lalu terapkan fontfamily: '' font Anda
Untuk pembaca baru
Anda dapat menggunakan perpustakaan ini Gloxey Custom Font Views
ketergantungan gradle
dependencies{
compile 'io.gloxey.cfv:custom-font-views:1.0.2'
}
Cara Penggunaan?
Buat aset folder -> font . Salin font Anda ke folder font .
Gunakan aplikasi properti : font_name = "font_name_string" untuk menerapkan font pada tampilan.
Contoh
<!--Font Names in srings.xml-->
<string name="aadhunik">aadhunik.ttf</string>
<string name="kung_fool">kungfool.ttf</string>
<string name="skrova">skrova.otf</string>
<string name="painting_in_the_sun_light">painting_in_the_sun_light.ttf</string>
<!--Include views in layout.xml-->
<io.gloxey.cfv.CFTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="Aadhunik"
android:textColor="#ff00"
android:textSize="40sp"
app:font_name="@string/aadhunik" />
<io.gloxey.cfv.CFButton
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Kung Fool"
android:textColor="#154748"
app:font_name="@string/kung_fool" />
<io.gloxey.cfv.CFEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="Hello world"
android:textSize="30sp"
app:font_name="@string/skrova" />
<io.gloxey.cfv.CFCheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="Painting In The Sun Light"
android:textSize="30sp"
app:font_name="@string/painting_in_the_sun_light" />