اگر تا الان پروژه قبلی را دارید همان را باز کنید و یا اینکه یک پروژه جدید بسازید. میخواهیم روی همین پروژه خیلی مطالب را کار کنیم.
برای جلسات بعد قرار هست به این پروژه یک موضوع بدهم و روی آن جلو برویم. یک موضوعی هم برای پروژه ذهنم هست که احتمالا با همان پیش برویم و در نهایت پایگاه داده Sqlite هم روی آن پیاده کنیم (پایگاه داده اندروید)
برای جلسات بعد قرار هست به این پروژه یک موضوع بدهم و روی آن جلو برویم. یک موضوعی هم برای پروژه ذهنم هست که احتمالا با همان پیش برویم و در نهایت پایگاه داده Sqlite هم روی آن پیاده کنیم (پایگاه داده اندروید)
خب من خودم پروژه جدید میسازم. اسمش را میگذارم FirstApplication
فقط یک نکته بگم. برای باز کردن یک پروژه از قبل شاید یک سری¬ از دوستان به مشکل برخورده باشند. برای اینکار کافی هست یا از منوی بالای اینتلیجی File بعد Open بزنید. بعد هم برید توی مسیری که پروژتان را ساختید. پوشه ای که پروژه را ساختید به شکل آیکون اینتلیجی میشود (خود پوشه اصلی) آن را باز کنید.
یا راه دوم. خارج از اینتلیجی (اینتلیجی باز نباشد اصلا) بروید به مسیر پروژتان بعد بروید داخل پوشه src و یکی از کلاسها(اکتیویتی ها) را باز کنید. خودش با اینتلیجی باز شده و کل پروژتان را در اصل میاره بالا.
فقط یک نکته بگم. برای باز کردن یک پروژه از قبل شاید یک سری¬ از دوستان به مشکل برخورده باشند. برای اینکار کافی هست یا از منوی بالای اینتلیجی File بعد Open بزنید. بعد هم برید توی مسیری که پروژتان را ساختید. پوشه ای که پروژه را ساختید به شکل آیکون اینتلیجی میشود (خود پوشه اصلی) آن را باز کنید.
یا راه دوم. خارج از اینتلیجی (اینتلیجی باز نباشد اصلا) بروید به مسیر پروژتان بعد بروید داخل پوشه src و یکی از کلاسها(اکتیویتی ها) را باز کنید. خودش با اینتلیجی باز شده و کل پروژتان را در اصل میاره بالا.
یک نکته دیگه. بعضی ها با شبیه ساز به مشکل خوردن. من امروز شبیه ساز اینتلیجی را یک دور از اول میگم که چطور بیارید. اما اگر باز هم مشکل داشتید میتوانید فایل نصبی خوده برنامه را روی گوشی نصب و تست کنید. مسلما وقت گیر هست اما خب بهتر از هیچی هم هست! حالا چطور؟ (البته این را برای کسایی میگم که گوشی شان وصل نشده به اینتلیجی). خب در همین مسیر پروژتان که برید یک پوشه هست به اسم out. داخل آن و سپس داخل production بشوید. فایل apk شما آنجاست. (فایل نصبی برای اندروید). همان فایلی که اسم پروژتان با پسونده apk هست را بریزید توی گوشی و نصبش کنید. به همین سادگی.
شبیه ساز را هم در ادامه میگم. در آخر جلسه
شبیه ساز را هم در ادامه میگم. در آخر جلسه
خب برگردیم به پروژمان. برید در صفحه main.xml و هرچی داخلش هست را بجز layout اصلی پاک کنید طرح ما شکل زیر بود:
یادتان باشد LinearLayout نمیگذاشت که دوتا ابزار توی یک ردیف باشند (برای نوع vertical) و همچنین نمیگذاشت که دوتا ابزار زیر هم باشند (برای نوع horizontal)
پس باید از Relative استفاده کنیم. خب پس تگ layout اصلی تان را بکنید Relative. یعنی الان اینطور هست:
پس باید از Relative استفاده کنیم. خب پس تگ layout اصلی تان را بکنید Relative. یعنی الان اینطور هست:
که البته می¬بینید که از linear که خارجش کردم صفت orientation را هم برداشتم چون برای linear بود.
حال برای دیزاین صفحه فعلا یک دکمه بندازید روی صفحه (ترجیحا با کد. یاد بگیرید حرفه ای کار کنید از اول)
اینطور:
حال برای دیزاین صفحه فعلا یک دکمه بندازید روی صفحه (ترجیحا با کد. یاد بگیرید حرفه ای کار کنید از اول)
اینطور:
<Button android:layout_width="170dp"
android:layout_height="170dp"/>
android:layout_height="170dp"/>
یک نکته بگم یادتان باشد گفته بودم برای واحد اندازه گیری هم dp کاربرد دارد هم px
px
Pixels - corresponds to actual pixels on the screen.
dp
Density-independent Pixels
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"/>
android:layout_height="170dp"/>
<Button android:layout_width="170dp"
android:layout_height="170dp"/>
خب میبینید که هیچی نخواهد شد! برای اینکه دکمه ها را روی هم انداخت. کلا RelativeLayout هیچ قیدی روی این مسائل ندارد که ابزاراتان تداخل داشته باشند باهم! که البته خیلی هم خوب هست این. برای اینکه دکمه دومتا ظاهر بشود کدش را اینطوری کنید:
خب واضح هست و توضیحاتش را دادم. به اولی یک id دادم (اسمی که انتخاب کردم با توجه به کاربردی هست که در ادامه میخواهیم از این دکمه) بعد در دکمه دومی طبق خواصی که یاد دادم گفتم که زیر چه چیز باشد دکمم.
حالا بیاید دوتا دکمه بعدی را بسازیم. کافی هست به هرکدام از اینها بگیم که سمت راست کدام دکمه باشند. ببینید:
حالا بیاید دوتا دکمه بعدی را بسازیم. کافی هست به هرکدام از اینها بگیم که سمت راست کدام دکمه باشند. ببینید:
حالا برای اینکه بیاد وسط کافی هست که بیام و یکم به دوتای سمت چپ margin بدهم از چپ و بعد به دوتا بالایی ها margin بدهم از بالا. (مارجین برای فاصله دادن از اطراف بود اگر یادتان باشد)
کد من بصورت زیر شد:
کد من بصورت زیر شد: