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

پس از قرار دادن فونت ها در فولدر assets زیر فولدر فونت ها، می توانید در کد جاوای خود از طریق گروه Typeface، به آن دسترسی داشته باشید. ابتدا مرجع ویوی تکست را در کد به دست آورید. ترکیب آن در زیر داده شده است .

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

کار بعدی که باید انجام دهید، فراخواندن روش استاتیک از گروه createFromAsset() می باشد تا فونت خود را از assets به دست آورید. ترکیب آن در زیر ارائه شده است .

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

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

tx.setTypeface(custom_font);

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

Method & description

Sr.No

create(String familyName, int style)

یک آبجکت Typeface با یک نام خانوادگی و اطلاعات استایل، ایجاد کنید.

۱

create(Typeface family, int style)

یک آبجکت Typeface ایجاد کنید که به بهترین شکل با Typeface مشخص شده ی موجود و استایل مشخص شده هماهنگ باشد.

۲

createFromFile(String path)

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

۳

defaultFromStyle(int style)

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

۴

getStyle()

ویژگی های درونی Typeface را بازمی گرداند.

۵

مثال

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

Description

Steps

شما برای ایجاد Eclipse IDE برای ایجاد یک برنامه ی اندروید استفاده می کنید و آن را با عنوان CustomFonts تحت پکیج com.example.customfonts نام گذاری می کنید. هنگام ایجاد این برنامه مطمئن شوید که Target SDK و Compile With در آخرین ورژن خود هستند تا از سطوح بالاتر API استفاده کنید.

۱

یک فونت از اینترنت دانلود کنید و آن را تحت فولدر assets/fonts قرار دهید.

۲

فایل src/MainActivity.java را تغییر دهید تا کد لازم را اضافه کنید.

۳

res/layout/activity_main را تغییر دهید تا مولفه های مربوط به XML را اضافه کنید.

۴

res/values/string.xml را تغییر دهید تا مولفه های رشته ی مورد نیاز را اضافه کنید.

۵

برنامه را اجرا کنید و یک دستگاه اجرایی اندروید انتخاب کنید و برنامه را روی آن نصب کنید و نتایج را بررسی کنید.

۶

در زیر محتوای فعالیت مهم فایل را مشاهده می کنید.

src/com.example.customfonts/MainActivity.java.

package com.example.customfonts;
import android.app.Activity;
import android.graphics.Typeface;
import android.os.Bundle;
import android.view.Menu;
import android.widget.TextView;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView tx = (TextView)findViewById(R.id.hello);
Typeface custom_font = Typeface.createFromAsset(getAssets(),
“fonts/Erika Type.ttf”);
tx.setTypeface(custom_font);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}

در زیر محتوای تغییر یافته xml مربوط به res/layout/activity_main.xml را مشاهده می کنید.

‎‎‎‎‎‎‎‎‎‎

‎ ‎

در زیر محتوای res/values/string.xml را مشاهده می کنید.

‎‎

‎ CustomFonts‎

‎ Settings‎

‎ Hello‎

در زیر محتوای فایل AndroidManifest.xml را مشاهده می کنید.

‎‎

‎ ‎

‎ ‎

‎ ‎

‎ ‎

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

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

تذکر

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