با متدها که آشنایتان کردم. همچنین یادتان هست که گفتم متدها میتوانند return داشته باشند یعنی یک مقداری را برگرداند.
اما در این حالتی که گفتم الان، معمولا توی چنین حالتی method1 خروجیش یه کلاس هست که بیاید اسمش را بگذاریم method1Output. بعد از آن method2 رو داریم که قاعدتا توی کلاس method1Output وجود داره. ینی این کلاس هم متدی دارد در خودش به نام method2.
اما در این حالتی که گفتم الان، معمولا توی چنین حالتی method1 خروجیش یه کلاس هست که بیاید اسمش را بگذاریم method1Output. بعد از آن method2 رو داریم که قاعدتا توی کلاس method1Output وجود داره. ینی این کلاس هم متدی دارد در خودش به نام method2.
این قسمت را خوب دقت کنید چه چیزی میگم. چون ایندفعه توضیح میدهم اما درکل چنین کدهایی را زیاد خواهیم داشت.
اینجا اگه دقت کنید سه تا متد داریم پشت هم جای دوتا
getApplicationContext().getResources().getDisplayMetrics().
1)خب مشخص هست که getApplicationContext همان Context را به ما میدهد.
برای اینکه نوع خروجی متدها و یا ورودی هایشان (اگر دارد) را ببینید دکمه ctrl را نگه دارید و موس را ببرید روی اسم متدتان.
روی getApplicatioContext که اینکار را کنید چنین چیزی نوشته شده:
Public Context getApplicationContext()
برای اینکه نوع خروجی متدها و یا ورودی هایشان (اگر دارد) را ببینید دکمه ctrl را نگه دارید و موس را ببرید روی اسم متدتان.
روی getApplicatioContext که اینکار را کنید چنین چیزی نوشته شده:
Public Context getApplicationContext()
2)خب Context که خروجی این متد هست خودش یک کلاس هست که به شما گفتم شامل یک سری اطلاعات از برنامه تان هست.
خوده این کلاس Context درش یک متدی دارد به نام getResources
این متد خودش چیزی به نام Resource را به ما برمیگرداند
خوده این کلاس Context درش یک متدی دارد به نام getResources
این متد خودش چیزی به نام Resource را به ما برمیگرداند
3) حالا Resource خودش یک کلاس هست دوباره. که در آن تابعی دارد به نام getDisplayMetrics. این هم که مشخص هست DisplayMetric را برمیگرداند!
4)مجددا DisplayMetric یک کلاس هست. شامل اطلاعاتی از صفحه نمایش میشود از جمله طول و عرض. رسیدیم اخرش! اینجا میتوانید از width یا height برای گرفتن طول و عرض استفاده کنید.
حالا کافی هست من این مقدار را در 3/8 ضرب کنم و برابر با طولو عرض دکمه هایم قرار بدهم.
btn.getLayoutParams().height = getApplicationContext().getResources().getDisplayMetrics().widthPixels *3/8;
btn.getLayoutParams().width = getApplicationContext().getResources().getDisplayMetrics().widthPixels *3/8;
btn.getLayoutParams().width = btn.getLayoutParams().height =
getApplicationContext().getResources().getDisplayMetrics().widthPixels *3/8;
خب من این مبحث را و توابعی که پشت هم مینویسیم را برای دوستانی که برنامه نویسی جاوا کار نکردند یکم توضیح دادم. چیز پیچیده ای نیست و تقریبا بدیهی هست عملکردشان.
این کدی که الان نوشتم را میتوانید در گوشی های مختلف تست کنید. میبینید که همیشه به همین نسبت سایز دکمتان موقع اجرا تغییر میکند خیلی جاها این کد استفاده دارد وقتی بخواید دیزاینتان با توجه به صفحه گوشی تغییر کند.
برای هر چهار دکمتان این را میتوانید بنویسید حالا.
این کدی که الان نوشتم را میتوانید در گوشی های مختلف تست کنید. میبینید که همیشه به همین نسبت سایز دکمتان موقع اجرا تغییر میکند خیلی جاها این کد استفاده دارد وقتی بخواید دیزاینتان با توجه به صفحه گوشی تغییر کند.
برای هر چهار دکمتان این را میتوانید بنویسید حالا.
خب بریم حالا سراغ اینکه ببینیم میخواهیم صفحات برنامه مان چه ابزارهایی داشته باشند و با ابزارهایی جز Button اشنا بشویم. این بحثی بود که میشد اول کار روی آن کار کنیم چند جلسه و همه ابزارها را یکباره بگم اما فکر کنم توی طول کار هر لحظه به آنها احتیاج داشته باشیم یادتان بدم بهتر هست.
بریم یک layout بسازیم برای صفحه ای که قرار هست اطلاعات یک نفر وارد بشود
خب من همان Linear میسازم. میبینید که LinearLayout کاربرد خوبی دارد. برای وقتی بخواهید یک سری ابزار را زیر هم بندازید عالی هست.
از اول ببینیم چه چیزهایی میخواهیم. مثلا میخواهم اسم و نام فرد را داشته باشم. یعنی فرد وارد کند آن را.
اول از همه باید به کاربر بگیم میخواهیم اسمت را وارد کنی. برای نشان دادن یک متن به کاربر از TextView استفاده میکنیم.
یک تکست ویو بسازید. عرضش را بدهید fill و ارتفاعش را بدهید wrap. اینجا content wrap در اصل با توجه به سایز فونتی که انتخاب میکنید میتواند ارتفاع این textView را تنظیم کند.
خب پس تا الان دارم:
اول از همه باید به کاربر بگیم میخواهیم اسمت را وارد کنی. برای نشان دادن یک متن به کاربر از TextView استفاده میکنیم.
یک تکست ویو بسازید. عرضش را بدهید fill و ارتفاعش را بدهید wrap. اینجا content wrap در اصل با توجه به سایز فونتی که انتخاب میکنید میتواند ارتفاع این textView را تنظیم کند.
خب پس تا الان دارم:
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
داخلش میخواهم بنویسم نام دوست خود را وارد کن. برای اضافه کردن متن به تکست ویو از این تگ استفاده کنید:
android:text=""
و بعد از آن متن خودتان را وارد کنید بین دوتا “
android:text=""
و بعد از آن متن خودتان را وارد کنید بین دوتا “
فقط یک نکته بگم که اینتلیجی با فارسی مشکل دارد. شروع کنید به نوشتن بین "" میبینید فارسی بنویسید کلا کمی بهم ریخته میشود. یکم قلق دارد باید با آن کار کنید تا یاد بگیرید. همچنین توی دیزاین متن فارسی را درست نشان نمیدهد حداقل تا ورژن 14. اما در گوشیتان که اجرا بگیرید میبینید همه چی درست هست.
تا الان من این را دارم:
تا الان من این را دارم: