تغییر فونت برنامه توسط کاربر در اندروید

تغییر فونت برنامه توسط کاربر در اندرویدReviewed by امیرحسین گل محمدی on Oct 3Rating: 4.5تغییر فونت برنامه توسط کاربر در اندرویدبا سلام خدمت به شما بازدید کننده عزیز سایت ، امروز می خواهم آموزش کاربردی در زمینه برنامه نویسی اندروید رو در اختیارتون بذارم که در آخر این آموزش شما می توانید به کاربرانی که از برنامه شما استفاده می کنند اجازه دهید که خودشان فونت مورد دلخواه خود را انتخاب کنند و برنامه شما را با فونت مورد پسند خود مشاهده کنند ! پس این آموزش کاربردی را از دست ندهید ، با ما همراه باشید ...

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

android-changefont

مرحله اول :

ابتدا در main.xml که در پوشه layout قرار دارد ، یک Button و یک TextView همانند شکل زیر ایجاد کنید :

1-android-changefont

Xml تصویر بالا را می توانید در زیر مشاهده کنید :

 

خوب همانطور که در main.xml می بینید به TextView ، آی دی txtShow نسبت داده شده و همچنین به Button ، آی دی btnChangeFont .

 

مرحله دوم :

یک فایل xml از نوع layout به نام font در پوشه layout ایجاد کنید ، در این فایل همانند شکل زیر یک RadioGroup با ۲ زیر مجموعه قرار می دهیم تا کاربر فقط یکی را انتخاب کند .

2-android-changefont

 

 

Xml تصویر بالا را می توانید در زیر مشاهده کنید :

 

نام یک RadioButton را Tahoma و دیگری را FreeStyle می گذاریم .

 

مرحله سوم :

در پوشه assets یک پوشه به نام font میسازیم و داخل این پوشه ۲ فونت مد نظر یعنی Tahoma و FreeStyle را قرار میدهیم .

3-android-changefont

 

مرحله چهارم :

یک کلاس جدید به نام font.java ایجاد کنید که extends به Activity باشد همچنین implements آن RadioGroup.OnCheckedChangeListener باشد .

در این فایل ابتدا یک RadioGroup به صورت public تغریف میکنم و نام آن را rg قرار میدهیم سپس در متد onCreate ،rg را با دستور setOnCheckedChangeListener جستجو می کنیم ، در این صورت هر گزینه ایکه برای RadioGroup انتخاب میشود ، با دستور Switch بررسی می شود . در این Switch می گوییم اگر RadioButton0 بود برامون فونت Tahoma رو قرار بده و اگر RadioButton1 فونت FreeStyle و قرار بده  . در آخر فونت مورد نظر در getFont ، return میشود .

 

مرحله پنجم :

در Activity اصلی برنامه ، که در اینجا ChangeFontActivity است، ابتدا Button را با آی دی مشخص شده در main.xml تعریف می کنیم ، سپس با setOnclickListener به آن می گوییم Activity دیگری را باز کند و در ادامه آن تابع setFace را ساخته ایم که این تابع وظیفه دارد فونت را از پوشه assets/font را بگیرد و جایگزین فونت txtShow کند

onResume هم زمانی اجرا میشه که فرم ها برای لحظاتی متوقف شودند که در این زمان کلاس فونت را تعریف کرده و فونت انتخاب شده را در setFace قرار میدهیم .

 

مرحله پایانی :

در این مرحله باید Activity ، font را در AndroidManifest معرفی کنیم ، برای این کار کافی است کد زیر را در AndroidManifest قبل از </application> قرار دهید .

 

همانطور که مشاهده می کنید این Activity را از Theme Dialog انتخاب کرده ایم .

 

به همین راحتی ، خروجی برنامه را در زیر می توانید مشاهده کنید :

4-android-changefont

5-android-changefont

 

6-android-changefont

 

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

همچنین اگر نیازمند به منبع خوبی از فونت های های فارسی با فرمت مناسب هستید به لینک زیر هم سری بزنید .

استفاده از فونت فارسی در طراحی سایت

    پاسخگو
    محمدصادق در پنج شنبه ۲۲ آبان ۱۳۹۳ :

    سلام . من چه جوری می تونم از تم متریال در برنامم استفاده کنم ؟ با تشکر

    پاسخگو
    مهران در چهارشنبه ۳۰ اردیبهشت ۱۳۹۴ :

    سلام
    ممنون از آموزشتون
    من طبق این آموزش پیش رفتم اما فونت عوض نمی شه.
    می شه سورس برنامه رو قرار بدین.
    تشکر