آموزش برنامه نویسی اندروید (Android)
۴۱۹ آموزش
نمایش دسته بندی ها (۴۱۹ آموزش)

تعیین فونت (font) دلخواه برای متن نمایش داده شده در یک TextView ، در برنامه نویسی اندروید

چنانچه بخواهیم که یک فونت (font) دلخواه را برای متن نمایش داده شده در یک TextView انتخاب کنیم، باید ابتدا فایل با پسوند ttf مربوط به آن فونت را در پوشه assets از پروژه اندروید، کپی کنیم. مثلا فرض کنید که من یک فایل مربوط به فونت دست نویس (فونتی که به شکل دست نویس می باشد)، با نام Dast_Nevis.ttf دارم و می خواهم از آن، برای نمایش متن در یک TextView استفاده کنم. ابتدا یک پوشه (folder) با نام fonts در پوشه assets از پروژه اندروید می سازم و فایل Dast_Nevis.ttf را در آن کپی می کنم :

تعیین فونت (font) دلخواه برای متن نمایش داده شده در یک TextView ، در برنامه نویسی اندروید

حال با فرض اینکه TextView را با id برابر textView1 تعریف کرده باشیم، در میان کدهای Activity ، کدهای زیر را می نویسیم :


TextView tv = (TextView) findViewById(R.id.textView1);
Typeface tf = Typeface.createFromAsset(getAssets(),"fonts/Dast_Nevis.ttf");
tv.setTypeface(tf);

اکنون می توانید متن دلخواهی را برای نمایش در TextView تعیین کنید، مثلا برای این فونتی که من انتخاب کردم، حتما باید یک متن فارسی را در TextView نمایش بدهم تا فونت مورد نظر، به کار رود. به عنوان مثال، یک نمونه از نتیجه، به صورت زیر می باشد :

تعیین فونت (font) دلخواه برای متن نمایش داده شده در یک TextView ، در برنامه نویسی اندروید

در ضمن، اگر این فونت را دوست داشته اید، من فایل های مربوط به آن را برایتان در زیر می گذارم تا دانلود کنید (دقت کنید که علاوه بر فایل با پسوند ttf ، دو فایل دیگر با پسوندهای دیگر را هم گذاشته ام که برای مواردی است که می خواهید در طراحی وب استفاده کنید، نه در برنامه نویسی اندروید، زیرا در طراحی وب، معمولا نیاز به سه نوع فایل مورد نظر است) :

نویسنده علیرضا گلمکانی
شماره کلید 834
گزینه ها
به اشتراک گذاری (Share) در شبکه های اجتماعی
نظرات 7 7 0
سعید
۱۳۹۶/۰۱/۲۰
۲۱:۵۱

سلام من هر فونت عربی برا نمایش متن عربی میزارم تو اندروید 4.x.x با مشکل نمایش میده کمک کنید

مهدی
۱۳۹۶/۰۶/۰۴
۱۸:۳۹

سلام من تمام این کارا رو میکنم، توی کدنویسی هم مشکلی ایجاد نمیشه و خطایی نداره،اما نمیدونم چرا فونت اصلا تغییری نمیکنه، خواهش میکنم راهنمایی کنید؛ من الان چند روزه که روی این مشکل گیر کردم، خواهشا راهنمایی کنید!

مالکی
۱۳۹۶/۰۸/۰۶
۲۱:۱۷

سلام
اگه امکان داره آموزش رنگی کردن اعراب متن قرآن یا متن های که درون آنها بخشی از متن اعراب گذاری شده را آموزش بدید ممنون

سید طٰهٰ موسوی
۱۳۹۷/۱۰/۰۸
۲۳:۵۳

private void rangiKardane_Eerab(){
    TextView textView = (TextView)findViewById(R.id.textView1);


      SpannableString text_span_black = new SpannableString(str3);  //  str3: متغیری که متن اصلی درش ریخته شده
       for (int j = 0; j < text_span_black.length(); j++) {
       ch = text_span_black.charAt(j) + "";
//====================================
     if (
        ch.equals("َ") ||
        ch.equals("ِ") ||
        ch.equals("ُ") ||
        ch.equals("ً") ||
        ch.equals("ٍ") ||
        ch.equals("ٌ") ||
        ch.equals("ّ") ||
        ch.equals("ْ") ||
        ch.equals("ٰ") ||
        ch.equals("ٔ")) {

         text_span_black.setSpan(new ForegroundColorSpan(Color.RED), j, j + 1, 33);

             textView.setText(text_span_black);
         }
//-----------------------------
     } else {
         text_span_black.setSpan(new ForegroundColorSpan(Color.BLACK), j, j + 1, 33);

             textView.setText(text_span_black);
         }
     }
   }
//---------------------------------------
             // textfont :  میدهیم برنامه قرار دادیم  Assets 
پوشه fonts متغیریست که بهش یک فونت عربی که قبلا آنرا در پوشه 
           textfont = Typeface.createFromAsset(getAssets(), "fonts/bzar.ttf");
           textView.setTypeface(textfont);
     
           textView.setTextSize(30);
           setFasele();
       }
   }

رحمان
۱۳۹۶/۱۲/۱۵
۰۱:۵۰

سلام 
با استفاده از AssetManager چند فونت رو که در asset قرار دادم در لیست ویو لیست کردم ... 
حالا سوالم اینه..
چطور میشه TextView همین فونت هایی رو که لیست شده با استفاده از فونت خودشون تنظیم بشن ... 

saeed
۱۳۹۷/۰۵/۲۴
۱۸:۰۳

آقا دمت گرم مفید و مختصر نوشتی ، 2 خط کد کارمو راه انداخت 3>

عبدالحسن
۱۳۹۷/۱۰/۳۰
۱۴:۳۵

سلام  دوست عزیز  در  نرم افزار app invertor   چطوری  میشود  فونت تعریف کرد تا  متن  با فونت مورد  نظر نمایش داده شود   لطفاً اگر ممکن است  راهنمایی فرمائید

ارسال نظر جدید (بدون نیاز به عضو بودن در وب سایت)