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
که البته می¬بینید که از linear که خارجش کردم صفت orientation را هم برداشتم چون برای linear بود.
حال برای دیزاین صفحه فعلا یک دکمه بندازید روی صفحه (ترجیحا با کد. یاد بگیرید حرفه ای کار کنید از اول)
اینطور:
<Button android:layout_width="170dp"
android:layout_height="170dp"/>
یک نکته بگم یادتان باشد گفته بودم برای واحد اندازه گیری هم dp کاربرد دارد هم px
px
Pixels - corresponds to actual pixels on the screen.
dp
Density-independent Pixels
ببینید پیکسل های انواع صفحه¬های مانیتور و تلوزیون یا گوشی برای مدل های مختلف... باهم فرق دارد. اگر بر اساس پیکسل بدید واحد را در گوشی¬های متفاوت دیزاین¬های متفاوتی خواهید داشت. اما dp یک واحد ثابت هست در نتیجه تغییر نمیکند ابزارتان در گوشی¬ های متفاوت. پس از dp استفاده کنید بهتر هست.
خب تا الان دارم:
حالا دکمه دوم را بندازید ببینید چه میشود. یعنی کدم هست:
<Button android:layout_width="170dp"
android:layout_height="170dp"/>
<Button android:layout_width="170dp"
android:layout_height="170dp"/>
خب میبینید که هیچی نخواهد شد! برای اینکه دکمه ها را روی هم انداخت. کلا RelativeLayout هیچ قیدی روی این مسائل ندارد که ابزاراتان تداخل داشته باشند باهم! که البته خیلی هم خوب هست این. برای اینکه دکمه دومتا ظاهر بشود کدش را اینطوری کنید:
خب واضح هست و توضیحاتش را دادم. به اولی یک id دادم (اسمی که انتخاب کردم با توجه به کاربردی هست که در ادامه میخواهیم از این دکمه) بعد در دکمه دومی طبق خواصی که یاد دادم گفتم که زیر چه چیز باشد دکمم.
حالا بیاید دوتا دکمه بعدی را بسازیم. کافی هست به هرکدام از اینها بگیم که سمت راست کدام دکمه باشند. ببینید:
حالا برای اینکه بیاد وسط کافی هست که بیام و یکم به دوتای سمت چپ margin بدهم از چپ و بعد به دوتا بالایی ها margin بدهم از بالا. (مارجین برای فاصله دادن از اطراف بود اگر یادتان باشد)
کد من بصورت زیر شد:
خب تبریک میگم به غیر اصولی ترین روش ممکن دیزاین کردیم!! 😑چرا؟ برای اینکه همانطور که یادت دادم برید و مدل گوشی که نمایش میدهد را عوض کنید ببینید چه بلایی سر کارتون میاد!
میبینید که در بدترین وضعیت ممکن هست! نه تنها دکمه ها نسبت به صفحه ریز دیده میشوند (که توی تبلت صد درصد بدتر هست میتوانید تست کنید) بلکه اصلا وسط هم نیستند!
خب اگر اینطور نمیشد جای تعجب بود! ماها یک سری عددو ارقام دادیم! دلیل نمیشود اگر من 20 تا از چپ مارجین دادم توی گوشی 4 اینچی که دارم، شما هم که گوشی تان 7 اینچی هستت وسط قرار بگیرد دکمه ها!!
یادتان باشه جلسه اول یه اصطلاحی گفتم به اسم Responsive Design.
خب این توی وب مطرح میشود. اما برای هر اپلیکیشن دیگه ای هم میشه بکار برد. یعنی طراحی ای کنید که در هر سایز گوشی درست باشد دیزاینتان. اما چطور؟ کار سختی نیست. البته حالا به اینکه سایز دکمه ها نسبت به صفحه بزرگ یا کوچیک شود کاری نداشته باشید در آینده میپردازیم. بیاید اول فکر کنیم که چکار کنیم وسط بیفتد دکمه مان. خب من دوتا راه به شما میگم. میخواهم روی این دو بحث کنیم.
دوستان ما میتونیم در یک layout یک layout دیگر بگذاریم! یعنی چی. شما میتوانید هر layout را به layout های بیشتر تقسیم کنید. مثلا من یک relative دارم میتونم داخل آن n تا linear داشته باشم و...
حالا چکار کنیم. کافی هست این چهار دکمه را در یک relativelayout دیگر بندازیم بعد آن را بندازیم وسط صفحه.
اینطوری: