Saya mencoba untuk menggunakan custom font di Android Studio seperti yang kita lakukan di Eclipse. Tapi sayangnya tidak bisa mencari tahu di mana untuk menempatkan 'aset' folder!
Berikut ini adalah langkah-langkah untuk mengatasinya:
AssetManager am = konteks.getApplicationContext().getAssets();
huruf = Huruf.createFromAsset(am, String.format(Lokal.KAMI, "font/%s", "abc.ttf"));
setTypeface(jenis huruf);
atau coba cara ini:
TextView tx = (TextView)findViewById(R. id.textview1);
Huruf custom_font = Huruf.createFromAsset(getAssets(), "font/abc.ttf");
tx.setTypeface(custom_font);
Pilih File>New>Map>Aset Folder
Klik selesai
Klik kanan pada aset dan buat sebuah folder bernama font
Letakkan file font di aset > font
Gunakan kode berikut untuk mengubah textView's huruf
TextView textView = (TextView) findViewById(R. id.textView); Typeface typeface = Huruf.createFromAsset(getAssets(), "font/yourfont.ttf"); textView.setTypeface(jenis huruf);
Ada banyak cara untuk mengatur custom font family di lapangan dan saya menggunakan seperti yang di bawah ini.
Untuk menambahkan font sebagai sumber daya, lakukan langkah-langkah berikut di Android Studio:
klik Kanan folder res dan pergi ke New > Android direktori sumber daya. Baru Resource Directory muncul jendela.
Sumber daya jenis daftar, pilih font, dan kemudian klik OK.
Catatan: nama direktori sumber daya harus huruf.
Tambahkan font yang diinginkan di lihat di file xml:
Catatan: Tapi anda diperlukan hal-hal berikut ini:
Android Studio di atas 3.0 canary.
Aktivitas anda meluas AppCompatActivity.
Update Gradle yang seperti itu:
compileSdkVersion 26 buildToolsVersion "26.0.1" defaultConfig { minSdkVersion 19 targetSdkVersion 26 versionCode 1 versionName "1.0" testInstrumentationRunner "android.dukungan.tes.pelari.AndroidJUnitRunner" }
buildtoolsVersion
di atas ke 26 dan minimum targetSdkVersion
diperlukan 26
classpath 'com.android.alat-alat.membangun:gradle:3.0.0-beta4'
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
Saya pikir bukan men-download .ttf file kita dapat menggunakan Google font. It's sangat mudah untuk menerapkan. hanya anda harus ikuti langkah-langkah berikut. langkah 1) Buka layout.xml dari proyek anda dan pilih jenis huruf dari tampilan teks dalam atribut (untuk referensi screen shot terlampir)
langkah 2) dalam keluarga font pilih font Lebih.. pilihan jika font anda tidak ada. kemudian anda akan melihat sebuah jendela baru akan terbuka, di sana anda bisa ketik font yang diperlukan & pilih font yang diinginkan dari daftar saya.e) Regular, Bold, Italic dll. seperti yang ditunjukkan pada gambar di bawah ini.
langkah 3) Maka anda akan melihat sebuah folder font akan otomatis dihasilkan di /res folder setelah anda memilih font file xml.
Kemudian anda dapat langsung menggunakan font ini keluarga dalam xml
android:fontFamily="@font/josefin_sans_bold"
atau pro tata bahasa yang 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 pada EditTexts dan TextViews pada android sekaligus dan menerapkannya di seluruh proyek.
Pertama-tama anda perlu membuat folder font. Berikut ini adalah langkah-Langkah.
1: Pergi ke proyek (project folder) Maka aplikasi>src>utama
2: Membuat folder bernama 'aset/font' ke dalam folder utama.
3: Menempatkan font anda ke folder font. Di Sini Saya Memiliki 'MavenPro-Reguler.ttf'
Berikut ini adalah langkah-Langkah untuk menerapkan font kustom pada EditText dan menggunakan pendekatan ini dapat anda terapkan font pada setiap masukan.
1 : Membuat Kelas MyEditText (nama yang anda inginkan ...)
2 : yang meluas EditText
3 : Menerapkan font
Berikut ini adalah 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 dalam File xml
<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 Dukungan Perpustakaan 26.0 (dan Android O,) font yang dapat diambil dari sumber daya yang 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
Membuat folder bernama font bawah res** folder. Download berbagai font yang anda ingin tambahkan ke proyek anda contoh Google font
Dalam xml anda pengguna keluarga font
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 ingin hal itu terjadi dalam cara program menggunakan kode berikut
Typeface typeface = getResources().getFont(R.font.indie_flower);
textView.setTypeface(typeface);
untuk informasi lebih lanjut ikuti link ke posting blog saya gaya Font untuk Android dengan Android Studio 2.4
Anda dapat menggunakan mudah & sederhana EasyFonts perpustakaan pihak ketiga untuk mengatur berbagai font kustom untuk anda TextView
. Dengan menggunakan library ini anda tidak perlu khawatir tentang men-download dan menambahkan font ke dalam aset/folder font. Juga tentang jenis Huruf objek penciptaan. Anda akan bebas dari membuat folder aset juga.
Hanya:
TextView myTextView = (TextView)findViewById(R.id.myTextView);
myTextView.setTypeface(EasyFonts.robotoThin(this));
Ada banyak jenis font yang disediakan oleh perpustakaan ini.
Sesuai fitur baru yang tersedia di Android O, font sumber daya dalam XML yang tersedia sebagai fitur baru.
Untuk menambahkan font sebagai sumber daya, lakukan langkah-langkah berikut di Android Studio:
klik-Kanan res folder dan pergi ke Baru > Android resource directory. Baru Resource Directory muncul jendela.
Sumber daya jenis daftar, pilih font, dan kemudian klik OK.
Catatan: nama direktori sumber daya harus huruf.
Anda dapat mengakses jenis huruf sumber daya dengan bantuan sumber daya baru tipe, jenis huruf. Misalnya, untuk mengakses jenis huruf sumber daya, menggunakan @font/myfont, atau R. huruf.myfont.
misalnya. Typeface typeface = getResources().getFont(R. huruf.myfont); textView.setTypeface(jenis huruf);
Untuk menetapkan jenis huruf untuk textView:
TextView textView = (TextView) findViewById(R.id.your_textView);
final Typeface font = Typeface.createFromAsset(context.getAssets(), "fonts/your_font_name");
your_font_name termasuk font ekstensi.
1st menambahkan font.ttf file pada Folder font. Kemudian Tambahkan baris ini di onCreate
Typeface typeface = ResourcesCompat.getFont(getApplicationContext(), R.font.myfont);
mytextView.setTypeface(typeface);
Dan berikut adalah xml
<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"
/>
Jika anda sangat baru untuk Android seperti saya ini dapat menjadi sedikit rumit. Pastikan anda menghubungi:
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 berhubungan dengan font.
Font yang dapat digunakan sebagai sumber daya.
Download font.
Jika anda ingin menggunakan font eksternal dalam aplikasi android anda, anda dapat meng-include file font di apk atau mengkonfigurasi download font.
Termasuk file font di APK : Anda dapat men-download file font, menyimpannya di dalam res/font filer, menentukan jenis font dan penggunaan font family di gaya.
Untuk rincian lebih lanjut tentang cara menggunakan font kustom sebagai sumber daya lihat http://www.zoftino.com/android-using-custom-fonts
Mengkonfigurasi download font : Menentukan jenis huruf dengan menyediakan font penyedia detail, menambah font penyedia sertifikat dan menggunakan jenis huruf dalam gaya.
Untuk lebih detail tentang download font melihat http://www.zoftino.com/downloading-fonts-android
Pertama buat folder aset
kemudian membuat font
folder di dalamnya.
Kemudian anda dapat mengatur font
dari aset
atau directory
seperti 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);
}
}
}
Sekarang ada begitu banyak cara untuk menerapkan font salah satu cara termudah adalah seperti ini,
klik Kanan folder res pergi ke New > Android direktori sumber daya.
Dari Sumber daya jenis daftar, pilih font, dan kemudian klik OK.
Letakkan file font dalam folder font.
Menambahkan font ke folder aset dalam aplikasi/src/main/aset membuat custom textview 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 : Sehingga anda don't harus membuat tipografi 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 !
P. S. Dari android O, anda langsung dapat menambahkan font.
Untuk pembaca baru
Anda dapat menggunakan library ini Gloxey Font Kustom Views
gradle ketergantungan
dependencies{
compile 'io.gloxey.cfv:custom-font-views:1.0.2'
}
Bagaimana untuk digunakan?
Membuat folder aset -> font. Copy font anda ke font folder.
Menggunakan properti aplikasi : 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" />