آموزش جاوا و اندروید

یادداشت های یک برنامه نویس معمولی

آموزش جاوا و اندروید

یادداشت های یک برنامه نویس معمولی

طبقه بندی موضوعی

این کتابخونه توی اندروید دپریکیت شده. ولی میشه از طریق اضافه کردن کد زیر در گریدل ازش استفاده کرد.

 

 

۰ نظر موافقین ۰ مخالفین ۰ ۰۵ مرداد ۹۹ ، ۱۵:۳۰
میم دال

چون fucntion pointer در جاوا ساپورت نمیشه، بنابراین این مفهوم رو با اینترفیس پیاده سازی میکنه.

 

از اینترفیس برای انتقال اطلاعات بین کلاسها استفاده میشه.

 

اینترفیس یا باید توسط یه کلاسی پیاده سازی بشه یا به صورت anounymous class در خط پیاده سازی شه.

 

 

۰ نظر موافقین ۰ مخالفین ۰ ۰۴ مرداد ۹۹ ، ۱۱:۳۱
میم دال

تگ include برای اینه که یک ویو تکراری رو توی لیوت های مختلف استفاده کنیم.

مثلا توی بازی XO صفحه بازی رو توی لیوت های مختلف include کردم.

تگ marge برای اینه که روت لیوتی که قراره include شه توی لیوت main قرار نگیره. چون این لیوت اضافه هست و باعث کندی render شدن لایه xml میشه.

 

 

 

لینک

۰ نظر موافقین ۰ مخالفین ۰ ۳۰ تیر ۹۹ ، ۱۲:۳۹
میم دال

گفته میشه دیالوگ فرگمنت از همه دیالوگ ها بهتر و منعطف تر هست. چرا؟ بخاطر لایف سایکلی که داره!

بنابراین ترجیحا از این نوع دیالوگ باید استفاده شه.

۰ نظر موافقین ۰ مخالفین ۰ ۲۸ تیر ۹۹ ، ۱۵:۲۸
میم دال

root و attachToRoot در متد inflate

 

توضیح اینکه اینها رو چی بذاریم:

 

لینک اول

لینک دوم

لینک سوم

 

این موضوع به خصوص توی فرگمنت ها خیلی مهمه. مخصوصا دو تا لینک اول حتما خوانده شود.

 

البته برای دیالوگ root رو نال میذاریم. چون یک ویوی مستقل است.

۰ نظر موافقین ۰ مخالفین ۰ ۲۸ تیر ۹۹ ، ۱۴:۴۷
میم دال

برای ساخت دیالوگ دو تا کلاس داریم:

Dialog و AlertDialog

سایت اندروید گفته از اولی استفاده نکنید، چون کلاس کلی هست و از دومی استفاده کنید که از اولی اکستند شده. اینجا

 

۰ نظر موافقین ۰ مخالفین ۰ ۲۸ تیر ۹۹ ، ۱۲:۵۰
میم دال

این یه پروژه ساده برای پیاده سازی انیمیشن Circular reveal بوده که جز مباحث متریال دیزاین هست و روی API21 جواب میده.

 

پروژه شبیه این لینک و این یکی لینک هست. یک FAB داره که با کلیک روی اون صفحه منو باز و بسته میشه.

 

پروژه چالش خاصی نداشت فقط اینکه کجا چه ویویی رو ویزیبل یا اینویزیبل کنی یه کم زمان برد.

 

 

 

۰ نظر موافقین ۰ مخالفین ۰ ۱۰ تیر ۹۹ ، ۰۸:۵۷
میم دال

CoordinatorLayout نسخه پیشرفته Frame layout هست. این لیوت انیمیشن های ویوها که مرتبط با متریال دیزاین هستن و همچنین اینتراکشن ها رو خیلی خوب مدیریت میکنه.

 

مثلا اگر FAB توی CoordinatorLayout باشه و اسنک بار نمایش داده بشه، FAB به صورت خودکار به سمت بالا هل داده میشه.

 

نکته جالب اینه که توی CoordinatorLayout هیچی نمیتونه روی FAB قرار بگیره :))

یعنی حتا اگر یه ویویی رو از قصد با FAB براش اوورلپ ایجاد کنیم بازم روی FAB نمیفته!

برای تست، یه تکست ویو با بک گراند solid روی FAB قرار دادم ولی بازم FAB رو کاور نکرد :))

 

نتیجه اخلاقی: FAB رو حتما توی CoordinatorLayout بذار.

 

 

یک الگوی متداول برای طراحی UI اینجوریه که روت رو CoordinatorLayout میذارن و یک ConstraintLayout و همچنین سایر المان های متریال دیزاین مثل FAB رو توش قرار میدن.

۰ نظر موافقین ۰ مخالفین ۰ ۱۰ تیر ۹۹ ، ۰۳:۰۷
میم دال

چند تا متد هست که میشه باهاشون ابعاد یک ویو رو به دست آورد:

 

۰ نظر موافقین ۰ مخالفین ۰ ۰۹ تیر ۹۹ ، ۰۳:۲۱
میم دال

Elevation به معنی ارتفاع بوده و یکی از مواردی است که توی متریال دیزاین مطرح شده.

همه ویوها این پراپرتی رو دارن و مثلا اگر به یک تکست ویو 5dp الویشن بدیم باعث میشه یه مقدار بالاتر از سطح بیاد و ارتفاع بگیره.

 

همین!

۰ نظر موافقین ۰ مخالفین ۰ ۰۸ تیر ۹۹ ، ۱۹:۲۳
میم دال