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
خب تبریک میگم به غیر اصولی ترین روش ممکن دیزاین کردیم!! 😑چرا؟ برای اینکه همانطور که یادت دادم برید و مدل گوشی که نمایش میدهد را عوض کنید ببینید چه بلایی سر کارتون میاد!
میبینید که در بدترین وضعیت ممکن هست! نه تنها دکمه ها نسبت به صفحه ریز دیده میشوند (که توی تبلت صد درصد بدتر هست میتوانید تست کنید) بلکه اصلا وسط هم نیستند!
خب اگر اینطور نمیشد جای تعجب بود! ماها یک سری عددو ارقام دادیم! دلیل نمیشود اگر من 20 تا از چپ مارجین دادم توی گوشی 4 اینچی که دارم، شما هم که گوشی تان 7 اینچی هستت وسط قرار بگیرد دکمه ها!!
یادتان باشه جلسه اول یه اصطلاحی گفتم به اسم Responsive Design.
خب این توی وب مطرح میشود. اما برای هر اپلیکیشن دیگه ای هم میشه بکار برد. یعنی طراحی ای کنید که در هر سایز گوشی درست باشد دیزاینتان. اما چطور؟ کار سختی نیست. البته حالا به اینکه سایز دکمه ها نسبت به صفحه بزرگ یا کوچیک شود کاری نداشته باشید در آینده میپردازیم. بیاید اول فکر کنیم که چکار کنیم وسط بیفتد دکمه مان. خب من دوتا راه به شما میگم. میخواهم روی این دو بحث کنیم.
دوستان ما میتونیم در یک layout یک layout دیگر بگذاریم! یعنی چی. شما میتوانید هر layout را به layout های بیشتر تقسیم کنید. مثلا من یک relative دارم میتونم داخل آن n تا linear داشته باشم و...
حالا چکار کنیم. کافی هست این چهار دکمه را در یک relativelayout دیگر بندازیم بعد آن را بندازیم وسط صفحه.
اینطوری:
کدهای تکراری را جایشان نقطه چیم گذاشتم که گیج نشوید. خب Relative اول که layout اصلیمان هست. و Relative دومی را ببینید از اول دکمه های من باز شده تا آخرش. اما توجه کنید. اولا که طول و عرضش را دادم wrap content. این چی هست. برای طول و عرض سه نوع مقدار دهی میتوانید بکنید.
1)یا اینکه عدد بدهید بر اساس dp و px که گفتم
2)بگذارید fill parent یا match parent که یعنی کل والد خودش را پر کند. یعنی هرچقد والدش فضا گرفت این هم فضا بگیرد و به تعبیری هرچقد که layout ای که در آن هست جا دارد این همان قدر بزرگ شود
3)بگذارید wrapcontent که این یک جورهایی برعکس قبلی هست. یعنی اینکه هرچقدر که محتوایی که در آن هستند جا میخواهد این هم همانقدر بزرگ باشد! مثلا اگه 3 تا دکمه در آن هست همانقدر باشد سایزش نه بیشتر نه کمتر
شاید شما بپرسید که پس match parent چه تفاوت با fill parent دارد؟ این همان fill parent هست. فقط چون حس میکردن fill parent درست منظور را نمیرساند از API8 به بالا کردنش match parent. هرکدام را دوست دارید استفاده کنید پس.
در انتها هم گفتم که این Relative ای که ساختم وسطه والد خودش قرار بگیرد.
فقط حواستان باشد که margin هایی که دادیم را حذف کنید.
خب میبینید که حتی تبلت هم انتخاب کنم اینها وسط قرار میگیرند
خب فقط آخرین بحث عکس گذاشتن. قبلا که یاد دادم فقط یک دوره میکنم.
شما هرچی دوست دارید بگذارید. روی پوشه Res راست کلیک کنید و یک directory بنام drawable بسازید. اگر از نسخه های بالاتر API استفاده کنید خودش پیشفرض دارد اینها را که drawable های آن پسوند دارند. کاری نداشته باشید شما مثلا داخل mdpi بروید. اگر هم نداشتید این ها را همان drawable را خودتان بسازید و استفاده کنید.
حالا عکستان را در این پوشه کپی کنید. اینطوری مثلا:
حالا برای عکس دادن... یکی از دکمه ها را میگم و بقیه با خود شما. دکمه ای که میخواهید به آن عکس بدهید را داخل tag اش بنویسید:
android:background="@drawable/about"
که about اسم عکسم هست. فقط یک نکته حواستان باشد... اسم عکسها را با حروف بزرگ بدهید در موقع اجرا به مشکل میخوردید. پس کوچک بنویسید. خب بقیه هم عین همین. به همه دکمه هایتان عکس بدهید.
شبیه ساز:
فقط در نهایت شبیه ساز را بگم چطور اد کنید. ببینید در منوی start داخل run سرچ کنید: avd تا avd manager بالا بیاد برای شما. حال روی create کلیک کنید تا یک دستگاه جدید برای شما بسازد.
حالا ویژگی هایش را طبق زیر پر کنید. البته api که سلیقه خودتان هست وطبق نسخه هایی که دارید. تیک snapshot و GPU هم از اخرش بردارید حتما
خب تموم شد. حالا داخل اینتلیجی بروید. در بالا اسم پروژتان را نوشته سمت راست در یه منوی کشویی. آن را باز کنید بعد edit configuration را بزنید. حالا در تنظیماتی که خواهد آمد اسم شبیه سازتان را از بخش emulator انتخاب کنید. ok بزنیدو تمام. ازین به بعد run روی شبیه ساز اجرا میکند پروژه را.