دوره مجازی اندروید (جلسه 22): مفاهیم پیشرفته رابط کاربری و پیاده سازی متریال دیزاین در اندروید

- visibility ۲۴ mode_comment

به نام خدا، سلام دوستان، در این جلسه به معرفی متریال دیزاین خواهیم پرداخت، همچنین با کتابخانه مورد نیاز برای پیاده سازی متریال دیزاین آشنا خواهیم شد.

مطالب مطرح شده در این جلسه عبارتند از :

  • معرفی متریال دیزاین
    • معرفی android design support library
    • معرفی style.xml
    • معرفی colors.xml
    • معرفی Coordinator Layout
    • معرفی Toolbar
    • معرفی Drawer Layout
    • معرفی NavigationView
    • معرفی DrawerToggle
  • راست به چپ کردن برنامه در گوشی های اندروید jelly bean به بالا
  • معرفی سایت مناسب برای پیدا کردن کد رنگ های استاندارد
  • اضافه کردن منو
info توجه

این مطلب یک جلسه از دوره آموزش اندروید می باشد و برای مشاهده آن باید در دوره ثبت نام کنید.

ثبت نام در دوره آموزش اندروید

comment دیدگاه کاربران
Mr abbas

سلام
کتابخانه ای در اندروید که عکسها متنها را به صورت خودکار با تمامی رزولوشنها و گوشی ها در واقع اپتیمایز کنه
رو آموزش بدید

سعید شاهینی

سلام، منظورتون از optimize چیه؟

Mr abbas

یعنی همون مچ بشه 😆

امیر غلامی

کتابخونه picasso خوبه 😛

Mr abbas

????
عکسی که بعدا (پس از پایان ساخت اپ) از طریق وب وارد اپ میشه چطور باید بدونه وارد کدوم یک از پوشها بشه؟؟؟مثلا xxx یا mdتا توی همه گوشیا یجور دیده بشه سوالم اینه

سعید شاهینی

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

Nima Arian

سلام بخش متریال دیزاین چند جلسه رو شامل میشه ؟

وحید صالحی

در جلسات پایانی

Nima Arian

😯 آقای صالحی این جواب شما من رو به افق خیره کرد قضیه میدونین چیه آقای شاهینی قرار شد اول متریال دیزاین رو بگن بعد سایر بخش ها رو اولین جلسه اون رو هم گفتن سوال من این بود که متریال دیزاین چند جلسه رو شامل میشه!ولی خداییش یه تنه زحمت کل جوابا افتاده گردن شما ها واقعا دمتون گرم یه جورایی پاسخ گو ترین فرد سایتین 😀 😉

وحید صالحی

انجام وظیفه هست اگر ایشون اینطور گفتن که حتما همین طوره بنده طبق روال آموزشی که خودم دارم حدسم شاید آخر این دوره باشه اما جای نگرانی نیست هر آنچه که در سرفصل ها هست بدون کم و کاستی تدریس خواهد شد

رامین رامین

سلام و خسته نباشید
تو تعریف
ActionBarDrawerToggle actionBarDrawerToggle=new ActionBarDrawerToggle(MainActivity.this,drawerLayout,toolbar,0,0);
اون دو تا 0 واسه چی گذاشته شدن کارشون چی بوده که شما 0 قرار دادید به جاش؟
ممنون از برگزاری دوره فوق العادتون

سعید شاهینی

سلام، شما چقدر نکته سنجی 🙂
توی اندروید یه امکانی برای افراد معلول وجود داره به نام accessibility. این امکان برای کمک به افراد نابینا و معلول استفاده می شه. مثلاً اندروید برای نابینایان اون دو پارامتری که ما صفر دادیم، تلفظ می کنه تا متوجه بشه که اون چیه. اگه بخواهیم برای افراد معلول و نابینا امکان کار کردن به اپ رو بدیم باید برای باز کردن و بستن NavigationDrawer متن مناسبی برای هر دو پارامتر قرار بدهیم.

Amirhossein Ashrafi

چطوری میشه وقتی کاربر بر روی یک آیتم navigation view لمس کرد و یک فرگمنت یا یک دیالوگ به نمایش در اومد. بعدش منو بسته بشه و همینجور باز نمونه ؟

سعید شاهینی

سلام:
drawerLayout.closeDrawers();

Rabbit94

سلام و احترام
استاد تفاوت تگ های android , app , tool در فایلهای لی اوت چیه؟ هر کدام رو در چه مواقعی استفاده میکنیم؟ و آیا تگ های دیگری هم وجود داره؟ مثل این ها :

و هچنین استاد یه توضیح در مورد این چند خط کدی که به صورت اوتومات تو ریشه لی اوت ما اضافه میشه میفرمایید: اینکه مثلا xmlns چیه یا چرا پروتکل http اولش هست و …

با تشکر فراوان 🙂

سعید شاهینی

سلام٬
android: برای تعریف صفت های استاندارد مورد استفاده قرار می گیره. صفت هایی که مربوط به View های اصلی اندروید هستند. مثل width یا height
tools: زمانی استفاده می شه که بخوایم یک مقدار تستی رو وارد کنیم و فقط ببینیم ظاهر View به چه شکل می شه. این مقادیر فقط داخل Preview Panel قابل مشاهده هستند و زمان اجرای اپ٬ در نظر گرفته نمی شوند (کامپایل نمی شوند). مثلاْ می خوایم ببینیم وقتی متنی رو داخل TextView قرار دادیم ظاهر صفحه مون چه شکلی می شه.
app: برای تعریف و مقدار دهی صفت های Custom مورد استفاده قرار می گیرند. مثلاْ شما یک View سفارشی ساختید می خواید واسش صفت خاصی تعریف بکنید که داخل xml بشه ازش استفاده کرد. اون موقع برای استفاده از اون صفت باید از app استفاده کنید.

امیرحسین باحجب

سلام . متاسفانه دقیقا کد های شمارو کپی کردم و دقیقا گام به گام باهاتون پیش اومدم اما متاسفانه وقتی اجرا میکنم فورس کلوز میده . چی کار کنم ؟؟ واقعا دیگه دارم گیچ میشم ….
ارور ها هم اینا هستن :


ممنون میشم راهنمایی کنین 😉

سعید شاهینی

سلام، از فایلی که داخلش DrawerLayout قرار دادید اسکرین شات بگیرید واسم بفرستید

امیرحسین باحجب

ممنون استاد پس از تلاش شبانه روزی حل شد . خخخخخخخ 😎 😆

Mohammad Sheklabadi

سلام استاد . شب و روز بخیر . بهترین روش برای ذخیره سازی یک عکس چیه ؟ استفاده از متغیری از نوع Drawable که در جلسات قبلی ازش استفاده میکردید و با کد زیر اونو لود میکردید
clothBo.setCloth_Image(ResourcesCompat.getDrawable(context.getResources(), R.drawable.pic1_clothes,null));
یا گرفتن id عکس و لود کردن اون با Picasso ? که توی این جلسه برای لود کردن عکس های صفحه اصلی نرم افزار ، از اون استفاده کردید .

سعید شاهینی

سلام. وقت شما بخیر. روش هایی که شما فرمودید مربوط به روش های مختلف لود کردن عکس هست نه ذخیره سازی اونها. اگه عکسی داشته باشید که داخل Resource ها باشه و حجمشم زیاد باشه، بهتره که از Picasso استفاده کنید. ( به خاطر سیستم Cache اون)

Mohammad Sheklabadi

سلام استاد . من کد های این جلسه رو که مربوط به طراحی لیست بود از روی کد های شما کپی کردم ولی خروجی روی گوشی خودم ، به شکل زیر درامد . حتی کد های مربوط به این لایوت رو از پروژه نهایی کپی کردم ، ولی تفاوتی حاصل نشد و خروجی به شکل زیر هستش . ولی توی مجازی ساز ، مشکلی نداره .
http://uupload.ir/files/hm7z_photo_2017-08-28_14-48-18.jpg
در صورتی که وقتی پروژه نهایی رو از سایت دانلود کردم و روی گوشیم نصب کردم ، بدون هیچ مشکلی جواب داده و تصاویر کوچیک نیست .
http://uupload.ir/files/ulfn_photo_2017-08-28_14-48-06.jpg

ممنون میشم راهنماییم کنید .

سعید شاهینی

سلام٬ وقت بخیر. در اندروید ورژن ۴.۲.۲ متاسفانه صفت AdjustViewBounds به درستی کار نمی کنه. برای حل این مشکل پیشنهاد می کنم از کتابخانه AdjustableImageView استفاده کنید. آخر دوره ازش استفاده شده. لینک دانلود: g=

Mohammad Sheklabadi

اقا حل شد . دمت شما گرم

نیاز به لاگین

برای ارسال دیدگاه و یا پرسیدن سوال خود در این قسمت، باید در سایت لاگین شوید.