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
الان در همین پوشه layout-land بیاید یک layout به همان نام layout اصلی تان مثلا main.xml بسازید. یک دکمه خالی بندازید فقط که تفاوت را احساس کنید. حالا با گوشی تان تست کنید برنامه را. میبینید که وقتی جهت گوشی عوض شد دیزاین شما هم تغییر میکند.
در نهایت من چکار کردم؟ مثلا دیدید که عکسی که دادم به زمینه برنامم چقد کشیده شده بود. کله کده main.xml اصلی را کپی کردم در اینی که برای land بود اما به جای عکسم، عکس دیگه ای به اسم back2 ساختم و آن را گذاشتم روی زمینه ی این layout.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/back2"
>
خب به همین ترتیب میتوانید برای device ها با سایزهای مختلف هم دیزاین بسازید. مثلا اگه صفحتان خیلی کوچک یا بزرگ هست و... دیزاین هایتان را درست کنید. سایزهایتان را با توجه به سایز گوشی تنظیم کنید و....
به همین ترتیب که آمدیم layout-land را ساختیم پوشه های زیر را هم داریم:
layout-large    4-7 inch
layout-xlarge 7-10 inch (tablet)
layout-small 2-3 inch
layout-normal 3-4(4.5) inch
در همه اینها میتوانید دیزاین های مختلف بگذارید. مثلا الان برای همین دکمه ها که دیدید در دیزاینهای مختلف خراب میشد اندازش نسبت به صفحه. بیاید layout-small رو بسازیم. حالا main.xml را روش راست کلیک کنید و بزنید copy. سپس روی پوشه layout-small راست کلیک کنید بزنید paste. به همین راحتی. فقط کافی هست طول و عرض دکمه هایتان را مثلا بگذارید 120. اگر دستگاه های مختلفی در خونه دارید میتوانید تست کنید.
خب بیاید حالا یک نکته دیگه ای هم بگم. تاحالا دیدید یک عکس با کیفیت بدید به دوستتان که گوشیش مثلا کوچک هست یا رزولوشن کم دارد یا قدیمی هست و.. و عکس شما را باز نکنه؟ حالا همین اتفاق توی برنامه هم میفتد. شما اگر یک عکس با کیفیت بگذارید در صفحه ای از برنامتان دراین صورت گوشی این برنامه را استفاده میکند اگر رزولوشن صفحه اش کم باشد با خطا مواجه میشه برنامه موقع اجرا و از برنامه خارج خواهد شد. البته خود اندروید سعی میکند که درست کند این مشکل را اما گاها ممکن هست باعث پایین آمدن راندمان برنامه تان بشود. یا ممکن هست نتواند اجرا شود و کلا خطا میدهد برنامه. برای اینکار دقیقا همان کاری که کردیم برای layout ها را برای drawable هم میکنیم. یعنی عکسمان را در فتوشاپ یا هرچیزی با سایزهای مختلف میسازیم. سپس آنها را در پوشه هایی با نام drawable عینا میگذاریم با نام یکسان. مثلا یک عکس دارم به اسم photo. یک رزولوشن خوبو عالی ازش میگذارم داخل پوشه ای به نام drawable.hdpi و یک رزولوشن کمتر میگذارم داخل پوشه ای بنام drawable-mdpi. اینطوری راندمان برنامه خیلی میره بالا خواهد رفت.
این اسم گذاریها به ترتیب زیر هستند:
drawable-hdpi  72*72 pixel
drawable-mdpi 48*48 pixel
drawable-ldpi 36*36 pixel
drawable-xhdpi 96*96 pixel
در نهایت یک نکته دیگری داریم. ببینید:
آیکون مزاحمه آن بالا را چطور ببریم! در خود برنامه که هستید یعنی اینتلیجی منظورم هست بالای دیزاین همانجا که یادتان دادم دیوایسها با سایزهای مختلف را تست کنید و یا land کنید و...
آنجا یک ایکون دایره ای هست... در آن میتوانید تم صفحه را انتخاب کنید. لیست را باز کنید تستشان کنید (البته اگر بک گراند نداشته باشید مشخص تر هست تم ها). آنهایی که نوشته noTitlebar و fullscreen این ایکونه را میبرند. اما نه از داخل صفحه برنامه وقتی در حال اجراست. فقط توی خود اینتلیجی دیگر نشانش نمیدهد.
برای اینکه ایکون حذف شود بروید داخل manifest برنامتلن. حالا داخل اکتیویتی که مال این صفحه هست همانجایی ک اسم اکتیویتی شما هست این را بنویسید:
android:theme="@android:style/Theme.NoTitleBar”
<activity android:name="MyActivity"
android:label="@string/app_name"
android:theme="@android:style/Theme.NoTitleBar">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
به همین راحتی.
و اما اخرین نکته. چطوری به برناممان ایکون بدهیم؟؟ الان اگر برنامه را روی گوشی تست کنید بعد برید داخل منو ایکونش را میبینید. بصورت دیفالت ایکون اندروید را دارد.
برای ایکون دادن با همین manifest باید کار کنید .. یک عکس که میخواهید ایکونتان باشد را اد کنید به drawable. مثلا اسم عکس من هست myicon. (یادتان باشد گفتم اسم عکسها باید با حروف کوچک باشد) خب برید داخل همان تکه کد اکتیویتی اصلیتان و همانجا که الان theme را تنظیم کردید این کد را هم بزنید:
android:icon="@drawable/myicon"
حالا برنامه تان ایکون دارد 😊
خب ببخشید این جلسه همش توضیحات بود اما بهرحال باید میدونستید این ها را. امیدوارم مفید بوده باشد و خسته نباشید همگی😊
سلام دوستان یه فرم نظر سنجی درست کردیم که نظرات دوستان رو در مورد کانال و بهتر شدنش بدونیم لطفا همه شرکت کنین ممنونم
http://goo.gl/forms/uZLR9MrMfv