Persian Software Engineers – Telegram
Persian Software Engineers
1.9K subscribers
353 photos
14 videos
84 files
303 links
تجربیات شخصی یک مهندس نرم افزار در آلمان‌.
کانال یوتیوب:
https://www.youtube.com/@Dev_Germany
ادمین کانال :
@mohamad_germany
Download Telegram
البته این کتابا یکم قدیمی هستند مخصوصا کتابه جاوا ! اما پر محتوا ! برای مباحث جدید مانند متریال دیزاین و ... برنامه های ویژه ای داریم .
جلسه نهم آموزش برنامه نویسی اندروید امشب ساعت 10 .
برخی از مباحثی که امشب تدریس میشه :
●تغییر سایز ابزارها با کد
●اشنایی با RadioButton
و معرفی برخی از امکانات در ابزارها
و...
@androiddevelop
با فروارد کردن این پیام در گروه هاتون از ما حمایت کنین ممنون 😊
سلام مقاری هستم و با جلسه 9 آموزش اندروید در خدمت شما هستم
جلسه قبل ساخت نرم افزار را کمی جلو بردیم و یک سری نکات اولیه را در شروع ساخت برنامه به شما گفتم.
این جلسه میخوام راجع به ابزاراهابی که در صفحات مختلف قرار میگیرد حرف میزنیم و صفحه های پروژه را میسازیم.
اما قبل از آن کدی را میگم که جلسه پیش وقت نشد. در مورد دیزاین برنامه برای سایزهای مختلف گوشی حرف زدیم. خود من مثلا یک پوشه layout دارم. و میخواهم سایز دکمه ها را با کد زدن تغییر بدم با توجه به سایز صفحه.. البته بستگی به کار شما دارد. کدی که میگم خیلی جاها ممکن هست بدرد بخورد و یا نه گاها کاربردی نباشد برای برنامه تان.
پس من میخواهم با کد سایزه دکمه ام را تغییر بدهم. وبا توجه به سایز گوشی. اما چطور..
خب برای کد زدن باید بریم داخل Activity و برید در OnCreate .
یکی از دکمه هایتان را فراخوانی کنید فعلا. مثلا:
Button btn = (Button) findViewById(R.id.btnAboutUs);
خب حالا باید یک سری چیزها را یاد بگیرید. اول اینکه چطوری طول و عرض دکمه را بتوانم بخوانم. کدش هست:
btn.getLayoutParams().width
btn.getLayoutParams().height
که getLayoutParams از اسمشم مشخص هست کارکردش. پارامترهای چیزی که میخواهید را میدهد و از بین آنها میتوانیم طول یا عرض را داشته باشیم.
حالا من نظرم این هست که بیایم طول و عرض را مثلا یک نسبتی از طول و عرض گوشی قرار بدهیم. من تست کردم مثلا 8/3 عدد مناسبی بود برای دیزاین ما. میتوانید تست کنید خودتان. میخوام بگم دکمه های من طول و عرضشان هردو (چون دایره هستند) برابر با 8/3 اندازه عرض گوشی باشد. خب اندازه عرض گوشی را چطور بگیریم. به این صورت:
getApplicationContext().getResources().getDisplayMetrics().widthPixels
خب حالا از اول مرور کنیم چه چیزی داشتیم. اول بگم که context در اصل برگرداننده ی یک سری اطلاعات از activity و یا application هست. در طول برنامه نویسیمان با یک سری از کاربردهایش اشنا میشویم. getApplicationContext مثلا برای این هست که ازکل اپلیکیشنتان context را برگرداند. میتوانید بعد از getApplicationContext() یک دات (.) بزنید و ببینید چه چیزهایی میتوانید بگیرید. بعد از آن هم گفتم getResources. اول یک مرور کنیم که دوتا متد پشت هم چگونه عمل میکنند.
شما وقتی میگید method1().method2() چه اتفاقی میفتد؟
با متدها که آشنایتان کردم. همچنین یادتان هست که گفتم متدها میتوانند return داشته باشند یعنی یک مقداری را برگرداند.
اما در این حالتی که گفتم الان، معمولا توی چنین حالتی method1 خروجیش یه کلاس هست که بیاید اسمش را بگذاریم method1Output. بعد از آن method2 رو داریم که قاعدتا توی کلاس method1Output وجود داره. ینی این کلاس هم متدی دارد در خودش به نام method2.
این قسمت را خوب دقت کنید چه چیزی میگم. چون ایندفعه توضیح میدهم اما درکل چنین کدهایی را زیاد خواهیم داشت.
اینجا اگه دقت کنید سه تا متد داریم پشت هم جای دوتا
getApplicationContext().getResources().getDisplayMetrics().
1)خب مشخص هست که getApplicationContext همان Context را به ما میدهد.
برای اینکه نوع خروجی متدها و یا ورودی هایشان (اگر دارد) را ببینید دکمه ctrl را نگه دارید و موس را ببرید روی اسم متدتان.
روی getApplicatioContext که اینکار را کنید چنین چیزی نوشته شده:
Public Context getApplicationContext()
2)خب Context که خروجی این متد هست خودش یک کلاس هست که به شما گفتم شامل یک سری اطلاعات از برنامه تان هست.
خوده این کلاس Context درش یک متدی دارد به نام getResources
این متد خودش چیزی به نام Resource را به ما برمیگرداند
3) حالا Resource خودش یک کلاس هست دوباره. که در آن تابعی دارد به نام getDisplayMetrics. این هم که مشخص هست DisplayMetric را برمیگرداند!
4)مجددا DisplayMetric یک کلاس هست. شامل اطلاعاتی از صفحه نمایش میشود از جمله طول و عرض. رسیدیم اخرش! اینجا میتوانید از width یا height برای گرفتن طول و عرض استفاده کنید.
اگر بخواهم توضیحاتم را با شکل بگویم به شما چنین چیزی میشود: