Selamat siang para developer, kali ini kita akan mempelajari bagaimana cara merubah font di android dengan Calligraphy Library.
Seperti biasa kita import librarynya di build.gradle
dependencies {
compile 'uk.co.chrisjenx:calligraphy:2.2.0'
}
Selanjutnya kita copy file .ttf atau .otf pada folder app/src/main/assets/fonts, jika tidak ada folder assets buat dulu foldernya.
Sekarang kita buat file javahya dan beri nama MyApp lalu isi seperti dibawah :
package com.panduseptian.customfont;
import android.app.Application;
import uk.co.chrisjenx.calligraphy.CalligraphyConfig;
/**
* Created by pandu on 28/11/16.
*/
public class MyApp extends Application {
@Override
public void onCreate() {
super.onCreate();
CalligraphyConfig.initDefault(new CalligraphyConfig.Builder()
.setDefaultFontPath("fonts/Oswald-Stencbab.ttf")
.setFontAttrId(R.attr.fontPath)
.build()
);
}
}
Sekarang kita daftarkan MyApp sebagai name Aplikasi kita, buka AndroidManifest.xml lalu tambahkan attribute name pada tag application seperti berikut :
Sekarang kita inject pada activity dengan cara memasukan void attachBaseContext(Context newBase) seperti dibawah :
@Override
protected void attachBaseContext(Context newBase) {
super.attachBaseContext(CalligraphyContextWrapper.wrap(newBase));
}
Full codingnya seperti ini :
package com.panduseptian.customfont;
import android.content.Context;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import uk.co.chrisjenx.calligraphy.CalligraphyContextWrapper;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
protected void attachBaseContext(Context newBase) {
super.attachBaseContext(CalligraphyContextWrapper.wrap(newBase));
}
}
Sekarang Kita ubah viewnya agar lebih jelas perubahannya
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.panduseptian.customfont.MainActivity">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="Custom Font"
android:textSize="30dp"/>
</RelativeLayout>
Sekarang kita run projectnya dan hasilnya seperti ini :
Cukup sekian sharing tentang Custom Font Androidnya, semoga bermanfaat untuk teman-teman semua. Terima Kasih.
Post a Comment