فهرست آموزش برنامه نویسی اندروید

فونت سفارشی در اندروید

۱۳۹۸/۰۸/۲۳ ۳۳

در اندروید می توانید برای رشته ها (strings) در اپلیکیشن ، فونت های مورد پسند خود را تعریف کنید. برای این کار تنها لازم است فونت ها را از اینترنت دانلود کنید و سپس آن را در فولدر assets/fonts قرار دهید.

پس از جابه جایی فونت به فولدر ذکر شده ، می توانید از طریق کلاس Typeface به کدهای جاوای مورد نظر نیز دسترسی پیدا کنید. به عنوان اولین قدم ، مرجع text view را پیدا کنید .

سینتکس آن به صورت زیر است :

TextView tx = (TextView)findViewById(R.id.textview1);

کار بعدی که شما باید انجام دهید این است که متد استاتیک ()createFromAsset از کلاس Typeface را فراخوانی کنید تا فونت سفارشی خود را از assets بدست آورید. سینتکس آن در زیر داده شده‌ است:

Typeface custom_font = Typeface.createFromAsset(getAssets(), "fonts/font name.ttf");

آخرین کاری که باید انجام دهید تنظیم این فونت بر روی پراپرتی TextView Typeface می باشد. برای انجام این کار لازم است متد() setTypeface را فرا بخوانید. سینتکس آن در زیر ارائه شده است  :

tx.setTypeface(custom_font);

به غیر از این متد ها، متد های دیگری نیز وجود دارند که در کلاس Typeface تعریف شده اند که می توانید از آن ها برای کنترل فونت ها بصورت کاربردی تر استفاده کنید.

شماره متد و توضیحات
۱ (create(String familyName, int style

با توجه به family name و اطلاعات استایل انتخابی، یک شی Typeface ایجاد کنید.

۲ (create(Typeface family, int style

یک شیء Typeface ایجاد کنید که بهترین متن Typeface و Style را مشخص کند.

۳ (createFromFile(String path

یک Typeface جدید را از فونت مشخص شده ایجاد کنید.

۴ (defaultFromStyle(int style

یکی از اشیاء Typeface پیش فرض را بر اساس استایل مشخص شده باز می گرداند.

۵ ()getStyle

ویژگی‌های سبک درونی Typeface را نشان می‌دهد.

مثال

در اینجا مثالی را می بینید که استفاده ی Typeface را در به کار گرفتن CustomFont (فونت سفارشی) توضیح می دهد.
در اینجا یک اپلیکیشن پایه ایجاد می شود که فونتی را نمایش می دهد که شما در فایل فونت ها مشخص کرده اید. برای آزمایش با این مثال می توانید آن را روی یک دستگاه واقعی یا یک امولاتور اجرا کنید.

مرحله توضیحات
۱  برای ایجاد اپلیکیشن از  Android studio IDE  تحت پکیج com.example.customfonts استفاده کنید .
۲  یک فونت از اینترنت دانلود کنید و آن را تحت فولدر assets/fonts قرار دهید.
۳ فایل src/MainActivity.java را تغییر دهید تا کد لازم را اضافه کنید.
۴ res/layout/activity_main را تغییر دهید تا مولفه های مربوط به XML را اضافه کنید.
۵ برنامه را اجرا کنید و یک دستگاه اجرایی اندروید انتخاب کنید و برنامه را روی آن نصب کنید و نتایج را بررسی کنید.

قبل از ورود به قسمت کد ، فونت دانلود شده را به assets/fonts اضافه کنید :

Anroid Loading Spinner Tutorial

 

محتوای تغییر یافته ی MainActivity.java :

 

package com.example.sairamkrishna.myapplication;

import android.graphics.Typeface;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.widget.TextView;

public class MainActivity extends ActionBarActivity {
   TextView tv1,tv2;

   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
         
      tv1=(TextView)findViewById(R.id.textView3);
      tv2=(TextView)findViewById(R.id.textView4);

      Typeface face= Typeface.createFromAsset(getAssets(), "font/font.ttf");
      tv1.setTypeface(face);

      Typeface face1= Typeface.createFromAsset(getAssets(), "font/font1.ttf");
      tv2.setTypeface(face1);
   }
}

 

محتوای تغییر یافته ی activity_main.xml :

 

<?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:layout_width="match_parent"
   android:layout_height="match_parent" 
   android:paddingLeft="@dimen/activity_horizontal_margin"
   android:paddingRight="@dimen/activity_horizontal_margin"
   android:paddingTop="@dimen/activity_vertical_margin"
   android:paddingBottom="@dimen/activity_vertical_margin" 
   tools:context=".MainActivity">
   
   <TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Typeface"
      android:id="@+id/textView"
      android:layout_alignParentTop="true"
      android:layout_centerHorizontal="true"
      android:textSize="30dp" />
      
   <TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Tutorials Point"
      android:id="@+id/textView2"
      android:layout_below="@+id/textView"
      android:layout_centerHorizontal="true"
      android:textSize="35dp"
      android:textColor="#ff16ff01" />
      
   <TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Tutorials Point"
      android:id="@+id/textView3"
      android:layout_centerVertical="true"
      android:textSize="45dp"
      android:layout_alignParentRight="true"
      android:layout_alignParentEnd="true"
      android:layout_alignParentLeft="true"
      android:layout_alignParentStart="true" />
      
   <TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Tutorials Point"
      android:id="@+id/textView4"
      android:layout_below="@+id/textView3"
      android:layout_alignLeft="@+id/textView3"
      android:layout_alignStart="@+id/textView3"
      android:layout_marginTop="73dp"
      android:textSize="45dp" />
      
</RelativeLayout>

 

محتوای  res/values/string.xml :

 

<resources>
   <string name="app_name">My Application</string>
</resources>

 

محتوای فایل AndroidManifest.xml :

 

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="com.example.sairamkrishna.myapplication" >
   
   <application
      android:allowBackup="true"
      android:icon="@mipmap/ic_launcher"
      android:label="@string/app_name"
      android:theme="@style/AppTheme" >
      
      <activity
         android:name=".MainActivity"
         android:label="@string/app_name" >
         
         <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
         </intent-filter>
         
      </activity>
      
   </application>
</manifest>

 

اجازه دهید برنامه ی فونت خود را که کمی تغییر داده ایم، اجرا کنیم. فرض می کنیم AVD خود را در هنگام انجام تنظیمات محیط ایجاد کرده اید. برای اجرای برنامه از Eclipse یکی ازفایل های فعالیت برنامه را باز کرده و روی آیکن RunEclipse Run Icon از تولبار کلیک کنید. Android studio برنامه را روی AVD شما نصب می کند و آن را آغاز می کند و اگر همه چیز در مورد تنظیمات و برنامه درست باشد، پنجره ی امولاتور  زیر را نمایش خواهد داد :

Anroid Loading Spinner Tutorial

همانطور که مشاهده می کنید، متنی که روی AVD ظاهر می شود هیچگونه فونت پیش فرض اندروید ندارد و در واقع دارای فونتی می باشد که شما در فایل فونت ها مشخص کرده اید.

توجه ! در هنگام استفاده از این فونت باید اندازه و کاراکتری را که توسط فونت پشتیبانی می شود، حفظ کنید.

 

دانشجویار نماد اعتماد به دانشجویار مجوز نشر دیجیتال لوگو شرکت به پرداخت ملت logo-samandehi مجوز سازمان فنی حرفه ای کشور
blackFriday

پیش از شروع جشنواره بلک فرایدی
خودت رو برای یک خرید برق آسا آماده کن!


بلک فرایدی!

برای شرکت در جشنواره بلک فرایدی لطفا ثبت نام کنید.

  از الان برای بلک فرایدی آماده شو - رزرو تخفیف 90% ، برای همه آموزش ها  صفحه جشنواره