آموزش برنامه نویسی اندروید

آموزش ساختن برنامه برای اندروید به زبان فارسی
پنجشنبه, ۲۳ آبان ۱۳۹۲، ۰۶:۱۰ ب.ظ

واحدهای اندازه‌گیری

تماشای برخط [لینک مستقیم] فیلم آموزشی «واحدها»

زیر نویس انگلیسی [English Subtitle]

دریافت نسخه‌ی pdf این آموزش [352 کیلوبایت]

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

۱.خوب برای اینکه بهتر متوجه بشیم، یه پروژه جدید در ایکلیپس می‌سازیم.

از فولدر res زیر شاخه layout و activity_main.xml رو باز می‌کنیم و محیط گرافیکی اون برامون باز می‌شه. به طور پیش‌فرض صفحه‌بندی نسبی (RelativeLayout) برای همه پروژه‌ها در نظر گرفته شده. حالا اگه روی activity_main.xml کلیک کنیم می بینیم که در اولین خط نوشته RelativeLayout یعنی نوع صفحه بندی نسبی است.

۲.حداقل تنظیماتی که هر شی در اندروید نیاز داره، ارتفاع و عرض در صفحه‌بندیه. مثلا در قسمت صفحه‌بندی نسبی نوشته :

یعنی عرض و ارتفاع صفحه بندی به صورتی باشه که تمام فضای والد خودش رو پر کنه (fill_parent) یعنی تمام صفحه رو بپوشونه.

حالا می‌تونیم به قسمت گرافیکی activity_main.xml بریم و اون متن رو حذف کنیم و از منوی سمت چپ یه دکمه روی صفحه بکشیم و رها کنیم. وقتی به قسمت کد activity_main.xml می‌ریم می‌بینیم که اون هم برای خودش ارتفاع و عرض داره که با عبارت «wrap_content» پر شده، به این معنی که فقط به همون اندازه که نیاز داره، فضا اشغال می‌کنه.

android:layout_width="wrap_content"
android:layout_height="wrap_content"

۳.برای دیدن مشخصات دکمه‌ای که ایجاد کردیم، از منوی سمت راست properties رو انتخاب می‌کنیم (اگه منوی properties رو ندارید، از منوی بالای ایکلیپس روی window بعد show view و other کلیک کنید و در زیرشاخه General گزینه properties رو انتخاب کنید تا براتون پنجره اش باز بشه و اگه دلتون بخواد می‌تونید اونو در سمت راست بذارید) این منو به ما اجازه می‌ده مشخصات هر چیزی که در قسمت گرافیکی انتخاب کردیم رو تغییر بدیم. الان می‌تونید رو دکمه‌ای که تو شکل مشخص کردم (پر کردن ارتفاع: toggle fill height) کلیک کنید تا بینید که در قسمت توضیحات درباره ارتفاع دکمه نوشته شده : match_parent به این معنی که طول اون شی رو انقدر اضافه می‌کنه تا به اندازه والدش بشه و در محیط گرافیکی می‌بینیم که همین طور هم شده.

در کنار دکمه پر کردن ارتفاع (toggle fill height)، دکمه پر کردن عرض هم وجود داره، که اگه اون رو برای شی‌ای انتخاب کنید، باعث می‌شه شی تمام عرض والدش رو پر کنه.

قبل از GingerBread وقتی این دکمه رو می‌زدید، می‌نوشت fill_parent که در واقع همون کارو می‌کرد ولی الان اسمش رو عوض کردن گذاشتن match_parent

۴.حالا اگه بخوایم شی مورد نظرمون یه عرض و ارتفاع مشخصی داشته باشه باید چی کار کنیم؟ کاری که اکثر افراد می‌کنن اینه که یه مقدار با واحد pixel به اون شی اختصاص می‌دن. ولی یک پیکسل در دستگاه‌های مختلف اندازه متفاوتی داره مثلا یه شرکت دوست داره مقدار پیکسل رو یک دهم اینچ در نظر بگیره و یه شرکت دیگه یه مقدار متفاوتی رو، و این باعث می‌شه تا برنامه ما روی هر دستگاهی یه جور متفاوت باشه، به همین خاطر باید از یه واحد دیگه به نام dp استفاده کنیم که مخفف Device-Independent Pixle هست یعنی پیکسلی که مستقل از دستگاهه و برای همه دستگاه‌های اندروید یه چیز ثابته، قبلا sdk بهمون این اجازه رو می‌داد که هر واحدی که می‌خوایم رو استفاده کنیم، اما چون باعث می‌شد برنامه در دستگاه‌های مختلف متفاوت نمایش داده بشه، دیگه الان sdk به شما اجازه نمی‌ده واحد px رو بنویسید و خودش به dp تبدیلش می‌کنه.

۵.حالا اون دکمه رو از رو صفحه حذف می‌کنیم و یه متن (textView) به صفحه اضافه می‌کنیم، می‌خوایم اندازه متن رو تغییر بدیم. می‌تونیم از همون واحد dp استفاده کنیم. مثلا 50 dp. ولی یه تنظیماتی در اندروید برای افرادی که چشمان ضعیفی دارند وجود داره که می‌تونن گزینه‌ای رو انتخاب کنن تا همه متن‌ها براشون درشت‌تر نمایش داده بشه، در چنین حالتی این متن ما همون اندازه خواهد موند و براشون بزرگ نمی‌شه، برای برطرف کردن این مشکل از واحد sp استفاده می‌کنیم، که مخفف Scale-Indepentent Pixle هست به معنی اینکه با توجه به مقیاسی که کاربر تنظیم کرده متن نمایش داده بشه و این واحد فقط برای متن به کاربرده می‌شه. و اگر کاربر تنظیمات گوشی اش رو دست نزده باشه، اندازه  50 dp برابره 50 sp خواهد شد، ولی برای افرادی که چشماشون ضعیفه بزرگتر نمایش داده خواهد شد.

فهرست مطالب

ادامه آموزش: صحفه‌بندی (Layout)



نوشته شده توسط وجدانی
ساخت وبلاگ در بلاگ بیان، رسانه متخصصان و اهل قلم

آموزش برنامه نویسی اندروید

آموزش ساختن برنامه برای اندروید به زبان فارسی
آموزش برنامه نویسی اندروید
بسم الله الرحمن الرحیم
در این سایت آموزش جامع و کاملی درباره اینکه چطور برای اندروید برنامه بنویسیم قرار داده خواهد شد
امیدوارم این آموزش ها بتونه راه گشای تمام ایرانیانی باشه که می خوان تو این زمینه به موفقیت برسند و باعث افتخار کشورشون باشن
اساس آموزش این سایت، فیلم آموزشی از سایت Lynda.com هست
زیر نویس فارسی و انگلیسی این فیلم ها با پسوند srt برای دانلود قرار داده خواهد شد (گردآوری شده در این صفحه )
همون طور که می دونید این آموزش در سایت Lynda.com رایگان نیست.
برای همین اینجا و اینجا براتون آپلودش کردم
(حکم دانلود رایگان این فیلم ها که پولی هستند)

اگه هر کدوم از لینک هایی که گذاشتم کار نمی کرد حتما منو از طریق قسمت نظرات یا ایمیل مطلع کنید.
Email : AndroidCode@ymail.com

امام علی (ع) : هر عملی که با بسم الله الرحمن الرحیم شروع شود با برکت است.

آخرین نظرات

  • ۲ فروردين ۰۱، ۱۲:۱۱ - سعید حسین پور
    عالی ...

پیوندهای روزانه

واحدهای اندازه‌گیری

پنجشنبه, ۲۳ آبان ۱۳۹۲، ۰۶:۱۰ ب.ظ

تماشای برخط [لینک مستقیم] فیلم آموزشی «واحدها»

زیر نویس انگلیسی [English Subtitle]

دریافت نسخه‌ی pdf این آموزش [352 کیلوبایت]

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

۱.خوب برای اینکه بهتر متوجه بشیم، یه پروژه جدید در ایکلیپس می‌سازیم.

از فولدر res زیر شاخه layout و activity_main.xml رو باز می‌کنیم و محیط گرافیکی اون برامون باز می‌شه. به طور پیش‌فرض صفحه‌بندی نسبی (RelativeLayout) برای همه پروژه‌ها در نظر گرفته شده. حالا اگه روی activity_main.xml کلیک کنیم می بینیم که در اولین خط نوشته RelativeLayout یعنی نوع صفحه بندی نسبی است.

۲.حداقل تنظیماتی که هر شی در اندروید نیاز داره، ارتفاع و عرض در صفحه‌بندیه. مثلا در قسمت صفحه‌بندی نسبی نوشته :

یعنی عرض و ارتفاع صفحه بندی به صورتی باشه که تمام فضای والد خودش رو پر کنه (fill_parent) یعنی تمام صفحه رو بپوشونه.

حالا می‌تونیم به قسمت گرافیکی activity_main.xml بریم و اون متن رو حذف کنیم و از منوی سمت چپ یه دکمه روی صفحه بکشیم و رها کنیم. وقتی به قسمت کد activity_main.xml می‌ریم می‌بینیم که اون هم برای خودش ارتفاع و عرض داره که با عبارت «wrap_content» پر شده، به این معنی که فقط به همون اندازه که نیاز داره، فضا اشغال می‌کنه.

android:layout_width="wrap_content"
android:layout_height="wrap_content"

۳.برای دیدن مشخصات دکمه‌ای که ایجاد کردیم، از منوی سمت راست properties رو انتخاب می‌کنیم (اگه منوی properties رو ندارید، از منوی بالای ایکلیپس روی window بعد show view و other کلیک کنید و در زیرشاخه General گزینه properties رو انتخاب کنید تا براتون پنجره اش باز بشه و اگه دلتون بخواد می‌تونید اونو در سمت راست بذارید) این منو به ما اجازه می‌ده مشخصات هر چیزی که در قسمت گرافیکی انتخاب کردیم رو تغییر بدیم. الان می‌تونید رو دکمه‌ای که تو شکل مشخص کردم (پر کردن ارتفاع: toggle fill height) کلیک کنید تا بینید که در قسمت توضیحات درباره ارتفاع دکمه نوشته شده : match_parent به این معنی که طول اون شی رو انقدر اضافه می‌کنه تا به اندازه والدش بشه و در محیط گرافیکی می‌بینیم که همین طور هم شده.

در کنار دکمه پر کردن ارتفاع (toggle fill height)، دکمه پر کردن عرض هم وجود داره، که اگه اون رو برای شی‌ای انتخاب کنید، باعث می‌شه شی تمام عرض والدش رو پر کنه.

قبل از GingerBread وقتی این دکمه رو می‌زدید، می‌نوشت fill_parent که در واقع همون کارو می‌کرد ولی الان اسمش رو عوض کردن گذاشتن match_parent

۴.حالا اگه بخوایم شی مورد نظرمون یه عرض و ارتفاع مشخصی داشته باشه باید چی کار کنیم؟ کاری که اکثر افراد می‌کنن اینه که یه مقدار با واحد pixel به اون شی اختصاص می‌دن. ولی یک پیکسل در دستگاه‌های مختلف اندازه متفاوتی داره مثلا یه شرکت دوست داره مقدار پیکسل رو یک دهم اینچ در نظر بگیره و یه شرکت دیگه یه مقدار متفاوتی رو، و این باعث می‌شه تا برنامه ما روی هر دستگاهی یه جور متفاوت باشه، به همین خاطر باید از یه واحد دیگه به نام dp استفاده کنیم که مخفف Device-Independent Pixle هست یعنی پیکسلی که مستقل از دستگاهه و برای همه دستگاه‌های اندروید یه چیز ثابته، قبلا sdk بهمون این اجازه رو می‌داد که هر واحدی که می‌خوایم رو استفاده کنیم، اما چون باعث می‌شد برنامه در دستگاه‌های مختلف متفاوت نمایش داده بشه، دیگه الان sdk به شما اجازه نمی‌ده واحد px رو بنویسید و خودش به dp تبدیلش می‌کنه.

۵.حالا اون دکمه رو از رو صفحه حذف می‌کنیم و یه متن (textView) به صفحه اضافه می‌کنیم، می‌خوایم اندازه متن رو تغییر بدیم. می‌تونیم از همون واحد dp استفاده کنیم. مثلا 50 dp. ولی یه تنظیماتی در اندروید برای افرادی که چشمان ضعیفی دارند وجود داره که می‌تونن گزینه‌ای رو انتخاب کنن تا همه متن‌ها براشون درشت‌تر نمایش داده بشه، در چنین حالتی این متن ما همون اندازه خواهد موند و براشون بزرگ نمی‌شه، برای برطرف کردن این مشکل از واحد sp استفاده می‌کنیم، که مخفف Scale-Indepentent Pixle هست به معنی اینکه با توجه به مقیاسی که کاربر تنظیم کرده متن نمایش داده بشه و این واحد فقط برای متن به کاربرده می‌شه. و اگر کاربر تنظیمات گوشی اش رو دست نزده باشه، اندازه  50 dp برابره 50 sp خواهد شد، ولی برای افرادی که چشماشون ضعیفه بزرگتر نمایش داده خواهد شد.

فهرست مطالب

ادامه آموزش: صحفه‌بندی (Layout)

نظرات  (۹)

خوب بود متشکرم
اگه فایل تصویری به شکل pdf روی سایتتون بود تشکر میکنم
خیلی خوبه ولی اگر آدم آکادمیک پیش بره موفق تر خواهد بود
ُسلام دمت گرم خیلی عالی بود مرسی از زحماتی که کشیدی من این قسمتو خوب یاد گرفتم بازم دمت گرم
موفق باشی
دمت گرم .20
اززحمات شما متشکرم
20
خدا خیرتوووووون بده امیدوارم.
سلام.
خیلی وقت گذاشتید تا ای مطالب رو نوشتید، همراه با عکس و فیلم و آموزش، دقیق توضیح دادید.
سپاسگذارم.
موفق باشید.
دستتون درد نکنه.سایتتون خیلی عالیه.مرسی

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">