MrJahanbin
MrJahanbin
خواندن ۲ دقیقه·۶ سال پیش

تغییر فونت و فارسی نویسی در زامارین (Xamarin)

یکی از بازی های جدیدی که انجام میدم کار با زامارین هستش. یادمه روزهای اولی که این کوچولو تازه به دنیا امده بود چقدر زشت و کج و کوله و آزار دهنده بود. هرچی گذشت و سنش بیشتر شد قد کشید، بهتر و بهتر شد تا جایی که الان رسیده و من وقتی میشینم باهاش بازی کنم ، کلی شوق میکنم با امکانات و چیزهای مختلفی که داره. اما اون روز بد از راه رسید...

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

نمایش متن فارسی در axml زامارین Xamarin
نمایش متن فارسی در axml زامارین Xamarin

اما وقتی که بروزرسانی اخر رو انجام میدی و کلی هم امکانات شیرین به زامارین اضاف میشه اما یک مشکل بزرگ به وجود میاد و اون...

عدم نمایش فونت فارسی در axml زامارین Xamarin
عدم نمایش فونت فارسی در axml زامارین Xamarin

بله این بخت شومیه که برسر دیزاین زامارین سایه انداخته. روزها و ماه ها به همین منوال مجبور بودیم باهاش کنار بیایم. اما نشد بود و همیشه آزارم میداد تا اینکه راه حلشو پیدا کردم.

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

1- یه پوشه جدید بسازین توی ریسورس (Resources) به اسم فونت (font) و فونت فارسی خوب و خوشگلی مثل خودتون رو توش قرار بدین!

2- یه فایل xml جدید بسازین و کدهای زیر رو توش قرار بدین ( شرح کد با خودتون)

<?xml version="1.0" encoding="utf-8" ?> <font-family xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <font android:font="@font/IRANSansWeb(FaNum)" android:fontStyle="normal" android:fontWeight="400" app:font="@font/IRANSansWeb(FaNum)" app:fontStyle="normal" app:fontWeight="400" /> <font android:font="@font/IRANSansWeb(FaNum)_Bold" android:fontStyle="normal" android:fontWeight="800" app:font="@font/IRANSansWeb(FaNum)_Bold" app:fontStyle="normal" app:fontWeight="800" /> </font-family>


عکسشم میذارم ببینید :

نمایی از کد بالا در ویژوال استودیو 2017
نمایی از کد بالا در ویژوال استودیو 2017

3- برین توی axml ی که میخواین فونتش عوض بشه و فونت فارسی رو درست بهتون نمایش بده و یک TextView قرار بدین و کدش رو مثل کد زیر کنین :

<TextView android:text="این هم نمونه کار ما" android:textAppearance="?android:attr/textAppearanceLarge" android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/textView1" android:fontFamily="@font/iransance" app:fontFamily="@font/iransance" android:textAppearance="?android:attr/textAppearanceLarge" />


تموم شد حالا متن TextView رو عوض کنین و لذت ببرین...

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




اینم اولین #ویرگول من


xamarinزامارینfont
سالها کار برنامه نویسی و مدیریت پروژه انجام دادم و الان هم در حال کسب تجربه در بازاریابی و برندسازی هستم. وب سایت من : http://mrjahanbin.ir
شاید از این پست‌ها خوشتان بیاید