آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

اندازه و تنظیمات مورد نیاز ، برای نمایش یک متن خوانا !

مجتبی یگانه  12 سال پیش  12 سال پیش
+12 0

سلام ، من هیچ تنظیمی برای TextView اعمال نمیکنم و با فونت و اندازه ی خوبی نمایش داده میشه ، در واقع با فونت و اندازه ی دیفالتی که روی دستگاه تنظیم شده !

متن فارسی راست به چب و انگلیسی چپ به راست  !

سوال ها : 

  1.  توی بضی دستگاه ها کل متن از چپ به راسته ! ، می خوام فارسی راست به چپ باشه ، چجوری ؟ 
  2. اندازه استاندارد چنده ؟  ، میدونم نمیشه ثابت گفت ولی چیزی که تقریبا خوانا باشه دیگه !
  3. چطور میشه یک متن خوانا تر ایجاد کرد که مطمئن باشیم align و اندازه مناسبی داره ؟
 برای این سوال 3 پاسخ وجود دارد.
پاسخ به سوال 
uncocoder  12 سال پیش
+8 0

پاسخ سئوال 1:

برای نمایش فارسی و رعایت راست به چپ صحیح، در گوشی هایی که ساپورت صحیحی از زبان فارسی دارند ( 90% گوشی ها ) کافیست متن ترکیبی فارسی و انگلیسی را بنویسید و Gravity آنرا Right بکنید. خود به خود RTL خواهد بود. اون گوشی هایی که این خاصیت رو ندارند مثل اکثر گوشی های HTC کلاً از نظر ما مردود هستند و کاربرای اونها هم بر نقص گوشی خودشون آگاهند. برای رفع این مشکل راه حل استانداردی وجود نداره.

 

پاسخ سئوال 2:

استاندارد Text از دید گوگل بر حسب SP اندازه گیری میشه مثلاً 12SP که من با این معیار کاملاً مخالفم. این معیار نسبت به تنظیمات Font Size در گوشی، سایز نوشته شما رو تغییر میده و علت مخالفت من هم این هست که آدمی که سایز فونتش رو می ذاره روی Very Large مطمئناً دیزاین ما رو بهم میریزه. شاید این موضوع برای نرم افزارهای مهم مفید باشه اما نباید از سمت گوگل اجبار بشه ( که در نسخه های جدید ADT امکان استفاده از DIP بجای SP نیست )

اما اندازه های استاندارد در لینک زیر هست که بر حسب sp اندازه گذاری شده:

http://developer.android.com/design/style/typography.html

و اگر نظر شخصی من رو بخواید اندازه های 14dip, 16dip, 18dip, 22dip مناسب طراحی به نظر می رسن.

 

پاسخ سئوال 3:

در خصوص رعایت شدن چپ به راست، بیشتر گوشی و سازنده اون باید استاندارد ها رو رعایت می کرده که گوشی های خوب از نظر من Sony و Samsung این موضوع رو بسیار با دقت رعایت کردن مخصوصاً Sony .

در خصوص نمایش مناسب، بهترین راه انتخاب فونت مناسب برای نمایش هست که برای English همان فونت های Roboto نتیجه خیلی خوبی داره و برای فونت های فارسی به ترتیب B Roya و B Nazanin و B Titr و B Homa نتیجه خوبی از خودش نشون میده.

البته اندازه فونت تأثیر به سزایی در کیفیت نمایش داره و اگر فونتی در سایز های مختلف چهره های متفاوتی از خودش نشون بده، فونت ضعیفتری محسوب میشه که متأسفانه B Roya علی رقم زیبایی در طراحی فونت، خاصیت فوق رو نداره.

پاسخ به سوال 
مجتبی یگانه  12 سال پیش
0 0

مثل همیشه تشکر از پاسخ پرمحتوا و کاملتون :) ، اینجا چند سوال دیگه ایجاد میشه !

سوال ها

1 - اگر دستگاهی فارسی رو  پشتیبانی کنه ، چقدر احتمال داره که استفاده از فونت های دیگه رو پشتیبانی نکنه و علتش چیه ، آیا مشکلی در نوع الصاق فونت از طرف برنامه نویس وجود داره مثلا  تبلت سامسونگ من ،  بعضی متن ها که فونت فارسی خاصی دارن رو نمایش نمیده ، اما در کل فارسی Native ساپورت شده !  ، توی نسخه های قدیمی اندروید هم این مشکل رو دیدم 2.6 /2.3 و ...

2- بهتر نیست ، این قشر رو هم در نظر گرفت و اجازه داد تا از فونت خود دستگاه استفاده بشه ، تا اینکه ما یک فونت الصاق کنیم ؟

 چون اولین برنامه ی من در مرحله تمیز کردن و تست نهایی هست ، و من هم کم تجربه هستم  ، اون رو روی دستگاه های مختلف ( فقط اورجینال نه چینی و ...  ) امتحان کردم ، نتیجه رضایت بخش بود لایه بندی رسپانسیو و مشکلی نداشت ، اما مشکل اساسی همین فونت بود 

3 - وقتی هیچ تنظیمی برای TextView از نظر جاذبه اعمال نمیکنم ، توی اکثر دستگاه ها حتی شبیه ساز ، متن های فارسی RTL و متن انگلیسی LTR هست که در واقع بهترین حالته  ، اما همین حالت توی چند دستگاه  سامسونگ (  به سونی دسنرسی نداشتم :(    )   ، تمامی متون را چپ به راست میاره ، حدس زدم اگر تنظیمی برای Gravity باشد که متن را نسبت به محتویاتش align کند بهترین حالت است ؟ ، آیا این حالت ممکن است و یا شروع کنم کلاسی براش بنویسم که خودش زبان متن رو تشخیص بده و بر اساس اون جاذبه بده ؟!

ببخشید ، سوالام زیاد شده ، باور کنید سوالاتی که مطرح میکنم یک سوم از سوالاتمه ، و بقیه رو EN سرچ میکنم و خوشبختانه قبل از من هم مطرح شده ! ، اما در مورد زبان فارسی ، جز شما  ، منبعی ندارم ، با تشکر :)

پاسخ به سوال 
uncocoder  12 سال پیش
+4 0

1- بیشتر به سازنده فونت مربوط میشه که نکات استاندارد رو رعایت نکرده. مثل استفاده «ی» عربی بجای «ی» فارسی. رعایت نکردن صحیح Unicode Characters و ... وگرنه گوشی چه می فهمه.

2- به شرطی که روش کار ساده باشه، باید به این قشر هم اهمیت داد. اما چون همه روشهای استفاده شده من در آوردی و غیر کارا است باعث میشه زمان توسعه شما و مشکلات شما به این سمت کشیده بشه و از کار اصلی که توسعه استاندارد هست دور بشید که از نظر تجاری 100% به ضرر شما خواهد بود تا به منفعت شما.

3- شما اگر توی UI تنظیم کنید بهتر هست. چون ممکنه جایی قرار باشه فارسی نوشته بشه اما چینش متن ( Gravity ) چپ چین باشه، که در این شرایط، نوشتن یک کلاس اتوماتیک ( که مطمئناً ممکن هست ) ممکنه محدودیت برای شما ایجاد کنه. ولی راه حل شما منطقی است و در شرایط مناسب بهترین نتیجه را خواهد داد.

 

با خیال راحت بپرسید. من از دوستانی که سئوالات سنجیده دارن مثل شما، بسیار بسیار راضی هستم و با رضایت کامل و اشتیاق به سئوالاتتون جواب می دم.

0 0
ممنون از جوابتون :) (12 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .