خانه Android, Android Studio, Eclipse, material design, اندروید, فیلم آموزشی, متریال دیزاین فصل سوم: متریال دیزاین در اندروید (۲۰۱۶)

فصل سوم: متریال دیزاین در اندروید (۲۰۱۶)

در فصل سوم که به بحث طراحی اختصاص داره ، به مفاهیم پایه ای طراحی متریال (material design) پرداخته میشه و مقدمات یادگیری به همراه منابع مهم یادگیری طراحی متریال در این فصل قرار گرفته.

از تعریف قسمت های مختلف یک برنامه و مدیریت رنگ ها و تگ ها و دستورات جدید گرفته تا نحوه ساخت و مدیریت یه دراور (Drawer)، مدیریت نوار فعالیت (Action bar) و اضافه کردن دکمه در نوار فعالیت و یا ایفکت گذاری روی دکمه ها و یا ساختن دکمه شناور (Floating button) به همراه دکمه های حاشیه ای شناور و تعریف عملکرد برای هر کدوم (یا همون مدیریت رویدادهاشون) در این فصل مورد بحث و بررسی قرار گرفته.

android-material-design-Logo

 

نکته ۱: برای آشنایی بیشتر با این مجموعه ، فصل اول مجموعه رو از فصل اول پکیج آموزش اندروید (۲۰۱۶) دریافت و مشاهده بفرمایید.

نکته ۲: همچنین برای آشنایی بیشتر با این فصل ، می تونید پیش نمایش رو از همین پایین دریافت و مشاهده نمایید.

پیش نمایش:

دانلود پیش نمایش های فصل سوم در قالب فایل زیپ

دانلود فصل اول پکیج آموزش اندروید (۲۰۱۶) با لینک مستقیم


لینک دانلود:

زمان: ۳ ساعت
حجم فایل زیپ: ۴۸۵ مگابایت

قیمت: ۱۲۰۰۰ تومان ۱۰۰ درصد تخفیف رایگان

دانلود فصل سوم: متریال دیزاین در اندروید – با لینک مستقیم

نحوه پرداخت و دانلود فوری: پرداخت توسط کلیه کارت های عابر بانک عضو شتاب، بعد از پرداخت همون موقع لینک دانلود برای شما ایمیل می شود و می توانید محصول را دانلود کنید.

نکته: برای دریافت پکیج کامل اندروید با تخفیف ویژه کلیک بفرمایید:

  پکیج کامل آموزش برنامه نویسی اندروید ۲۰۱۶

 

پیشنهاد میکنیم
دیدگاه ها
  1. امین گفت:

    سلام و خسته نباشید استاد
    آموزش خوبی بود ولی خیلی کم بود و طراحی شما واقعا زشت بود : )
    لطفا پروژه هایی که برای ساخت و آموزش مد نظر دارید بگویید

    • متیما یوسفی راد گفت:

      درود بر شما

      در ابتدا بگم که متریال مباحث مهمتری هم داره که به تدریج در فصل های بعد معرفی میشه. مثلاً کار با RecyclerView در فصل پیاده سازی برنامه ارتباط با سرور مطرح خواهد شد. دلیل این کار هم اینه که با ابزار های پیشرفته تر در قالب برنامه آشنا بشیم بهتر هستش!

      اما در مورد طراحی من، لطف کنین کمی در پرده سخن بگین!!!! اینجوری که شما گفتین من از زندگی نا امید شدم چه برسه به برنامه نویسی …

      اما در مورد پروژه ها: برنامه ای شبیه به دیوار (دریافت/ارسال داده از/به سرور) ، کتابچه (E-Book) ، برنامه چت ، حسابداری ، بازی سازی در اندروید

  2. پدرام گفت:

    با سلام و خسته نباشید
    بابت وقتی ک گذاشتید واسه ی این آموزش واقعا ممنون هستم. مهم نیست همه مبحث ها درس داده بشه,, همین که تونستید یک مقدمه خوب اماده کنید کلی ارزشمند هست.
    استاد برای ساخت برنامه ای مثل S Health که بنظرم یکی از بهترین طراحی های بین برنامه های امروزی رو داره چه چیزی نیاز هست؟ انالیز کردن این برنامه یکم سخت هست بنظرم.. اگه بتونی کمکی کنید خیلی ممنون میشم.
    ….
    در ضمن همین روال کوتاه و جامع بودن هر بخش رو ادامه بدید عالی میشه.. ما هم یکم تو زحمت بیفتیم و همچیز اماده حاظر نباشه,, واسه ی خودمونم هم بهتره
    پاینده باشید

    • متیما یوسفی راد گفت:

      درود بر شما

      لطف دارید. اگه منظورتون این برنامس https://shealth.samsung.com باید بگم که در پیاده سازی این برنامه از گرافیست های حرفه ای کمک گرفته شده. ینی این برنامه با چند تا progress bar و دکمه و grid view و اشیاء ساده دیگه پیاده سازی شده و هیچ نکته عجیبی تو پیاده سازیش وجود نداره. اما رنگ بندی عالی داره و موقعیت اشیاء بدرستی تعیین شدن و همینطور از آیکون های با کیفیت و جذاب استفاده شده. ضمن اینکه فونت برنامه کاملاً خوانا هستش. این نکته ها و شاید نکاتی اضافه بر اینها باعث میشه که طراحی برنامه مورد قبول باشه.

      من چون خودم طراح خوبی نیستم برای بخش طراحی پروژه هام از دیگران کمک میگیرم.

      • پدرام گفت:

        ممنون از توضیحاتتون.. من تازه کار هستم واسه ی همین برام مبهم هست بعضی چیزا
        مثلا اینکه چطوری صفحه طراحی شده ک میشه اون رو بالا پایین کرد مثل صفحه ی وب سایت(Scroll)
        ما وقتی میخوایم ی صفحه رو طراحی کنیم فقط اندازه یک کادر مشخص میتونیم اشیا توی صفحه قرار بدیم

        و یک سوال دیگه اینکه برای نشون دادن اطلاعات روی نمودار کد مشخصی وجود داره؟
        و همینطور سیستم Trophy؟

        • متیما یوسفی راد گفت:

          خواهش میشم.

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

          برای آشنایی با کتابخونه های کار با نمودار میتونین این صفحه رو ببینین:

          http://stackoverflow.com/questions/9741300/charts-for-android

          همینطور این مثال رو هم برای نمودارها ببینین:

          http://www.truiton.com/2015/04/android-chart-example-mp-android-chart-library

          در مورد Trophy اگه منظورتون این سایته که من چیزی ازش سر در نمیارم:

          http://trophymanager.com

      • پدرام گفت:

        ممنون از زمانی ک گذاشتید
        کمک خوبی کردید بهم
        پاینده باشید

  3. محمدرضا گفت:

    سلام…استاد میگم یه نرم افزار هست که سورس کد برنامه های اندورید رو در بیاره؟
    اگه هست میشه به ایمیل پاسخ بدید؟ ممنون از سایت خوبتون

  4. پدرام گفت:

    سلام.. استاد برای اینکه بشود از یک ایمیج طوری استفاده کرد ک با کلیک بر هر قسمتش یک کار جدا گانه انجام بدهد راهی هست؟
    بر فرض یک مربع داریم ک از طریق قطر ب دو قسمت تقسیم شده.. با کلیک بر مثلث سمت راست عکس یک Toast نشون بده,
    با کلیک بر مثلث سمت چپ از برنامه خارج شه
    ممنون

  5. امین گفت:

    سلام و درود استاد

    من میخواستم NavigationDrawer با کلیدی بجز کلید اکشن بار باز شود مثلا با کلیک بر روی imageView1 باز شود…
    از یک کد استفاده کردم ولی خطا میگیره عکس کد در زیر هست

    http://p30droid.com/Uploader/do.php?img=764

    لطفا راهنماییم کنید چه کار کنم

    با تشکر

    • متیما یوسفی راد گفت:

      دورد بر شما

      احتمالاً در مورد gravity خطا داره برنامه. باید مطمئن بشین که با API ورژن ۱۷ به بالا برنامه نویسی میکنین ینی اندروید ۴٫۲ . چون فکر نکنم تو ورژن های قدیمی موجود باشه.

  6. میشه یه لینک بدید شامل کلیه آموزش های رایگانتان یا یه دسته به همین عنوان درست کنید

  7. محمد گفت:

    سلام
    من با اکلیپس کار میکنم
    شما با اندروید استدیو
    آیا با مشکل برنمیخورم و میتونم از این آموزش استفاده کنم ؟

    • متیما یوسفی راد گفت:

      درود بر شما

      برنامه نویسی اندروید همه جا یکی هستش و محیط برنامه نویسی رو بسته به نیاز هاتون میتونین انتخاب کنین. فکر نکنم زیاد تفاوتی داشته باشه.

  8. محمد گفت:

    حالا یه سوال دیگه
    متریال واه اندروید ۵ به بعد اومد یعنی همراه با اندروید ۵ به بعد اومد
    با این حساب
    متریال حد اعقل api که میخواد چنده ؟
    یعنی حداعقل ورژن اندرویدی که میتونه متریال رو نمایش بده چنده ؟

  9. محمد گفت:

    اخه از چند نفر پرسیدم گفتن اندروید ۲٫۲ هم میتونن ببینن
    من این وسط موندم
    استدلال خودمو قبول کنم یا حرف دوستان رو که متریال هم کار کردن
    شما اطلاعی ندارین ؟
    کسی اطلاعی نداره ؟

    • متیما یوسفی راد گفت:

      درود بر شما

      خیر. بحث متریال دیزاین به صورتی که در اندروید ۵ به بعد مطرح شده در ورژن های قبلی موجود نیست. اما توجه کنید که خیلی از کتابخانه ها رو برای اندروید های قدیمی تر بصورت جداگانه پیاده سازی کردن. ینی شما تو اندروید ۲/۲ هم میتونین یه دراور رو از سمت راست نمایش بدین (در صورتی که rtl در Api ورژن ۱۷ به بالا اضافه شد) اما با کمی تکنیک و استفاده از کتابخانه های آماده.

      پ.ن: شما با معادل سازی برخی از کد ها میتونین متریال رو تا حدودی در اندروید ۴/۴ داشته باشین. مثلاً تو همین فصل خواصی مثل تغییر رنگ navigation bar و notification bar رو بررسی کردم که تغییر رنگ navigation bar با دستورات متریال در اندروید ۴/۴ کار نکرد اما notification bar تغییر رنگ رو انجام داد. میخوام بگم که بعضی از دستوراتی که متریال در خودش داره در واقع ساده شده ی دستورات قبلی هستش.

      • محمد گفت:

        خب حالا من یچیزی میگم ببینید حرف من صحیحه یا نه
        کسی که سمت طراحی متریال میاد یعنی میخواد برنامه ای که داخل مارکت ها منتشر میکنه طراحی چشم گیری داشته باشه
        و در کنار این صد درصد واسش محمده که کاربرانی که api بالای ۱۷ دارن بتونن برنامشو اجرا کنن چون ۹۵ درصد کاربران گوشی هاشون api ّالای ۱۷ دارن
        پس شما باید طوری متریال رو آموزش میدادین که به این نکات توجه بشه
        حالا بگذریم
        یه سوال
        طبق توضیحات شما
        من بخوام طراحی متریال انجام بدم و کاری کنم api بالای ۱۷ بتونن طراحی رو ببینن باید چیکار کنم ؟
        یا اگر کل طراحی متریال نمیشه این کارو بااشون کرد من چطور میتونم منو navigationDrawer Matherialرو تو برنامم داشته باشم که کاربرای بالای api 17 بتونن از رنامم استفاده کنن ؟
        اگر روشی هست
        کدوم قسمتای طراحی متریال رو میشه از این روش استفاده کرد ؟
        تشکر

        • متیما یوسفی راد گفت:

          درود بر شما

          در ابتدا باید بگم که آموزش های زیادی در اینترنت ارائه شده و همچنان ارائه میشه و شما مختارید که از بین اونها هر کدوم که مناسب نیاز شماست انتخاب کنین. یکی از دلایلی که در مجموعه هایی که من آماده میکنم یه ویدئو رو به بررسی سرفصل اختصاص میدم و نکات مهم رو در مورد دوره آموزشی میگم، این هستش که اگر با نیاز شما سازگار نبود شما اقدام به تهیه این آموزش نکنید تا وقت گرانبهای شما تلف نشه. در ویدئو اول از فصل اول این مجموعه، اشاره شد که برنامه نویسی اندروید فقط روی api ورژن ۲۱ به بالا آموزش داده میشه. چون هدف این مجموعه آشنایی با امکانات ریز و درشت اندروید در ورژن جدید هستش نه بیان راه حل های موجود برای پیاده سازی امکانات جدید در api های قدیم!!!! پس این نکاتی که اتفاقاً نکات جالب و کاربردی هستش به تلاش شما در مطالعه نیاز داره نه یه مجموعه ۱۵۰ ساعتی.

          اما در مورد اینکه شما چطور میتونین ابزار هایی که جدیداً معرفی شدن رو در اندروید های قدیمی پیاده سازی کنین: طبیعتاً ۳۰ تا ۴۰ درصد امکانات جدید در api ورژن های پایین قابل پیاده سازی نیستند. چون اگه باشن که دیگه ورژن جدید به چه دردی میخوره؟؟! اما اون درصد باقیمانده رو شما میتونین با استفاده از کتابخانه های موجود و کمی خلاقیت پیاده سازی کنید! به عنوان مثال:

          شما قصد ساخت یه دراور دارین که از سمت راست باز بشه اما تو api ورژن ۸ شما تگ supportRTL رو در مانیفست ندارین. میتونین بجای راست به چپ کردن برنامه از یه اکتیویتی استفاده کنین و یه سری خواص رو براش تعریف کنین. مثلاً اینکه اگه از سمت راست صفحه نمایش عمل تاچ شروع شد و تا حدود ۱۵۰ پیکسل به سمت چپ کشیده شد، اکتیویتی جدید با انیمیشن fade in از سمت راست نمایش داده بشه و ۳۰ درصد صفحه رو در بر بگیره. به این ترتیب میتونین سایر خواص موردنیاز رو براش تعریف کنین.

          برای مطالعه بیشتر در مورد خواص متریال به لینک هایی که در پاسخ به نظرات قبلی شما درج کردم مراجعه کنین و تو گوگل در مورد معادل های متریال در ورژن های قدیمی هم جستجو کنید. اما به این نکته توجه کنید که یه طراحی خیره کننده با استفاده از متریال تضمین نمیشه. شما با photoshop هم میتونین بهترین گرافیک رو در برنامه خودتون پیاده سازی کنین.

  10. amir گفت:

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

    • متیما یوسفی راد گفت:

      درود بر شما

      بنظرم شما پیاده سازی همون برنامه ای که گفتین رو شروع کنین و هرکجا که گیر کردین تو گوگل جستجویی انجام بدین تا بتونین نکته وار اندروید رو یاد بگیرین. سایت زیر هم خیلی سایت خوبیه:

      http://www.tutorialspoint.com

  11. حبیب گفت:

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

    • متیما یوسفی راد گفت:

      درود بر شما

      اگه منظورتون از منو اسلایدی همون drawer هستش، بله. ولی طراحی من به اون قشنگی نیس. خواص مختلف دراور رو تو فصل طراحی متریال بررسی کردم. میتونین برنامه رو دانلود کنین و دراور رو تست کنین.

  12. omid گفت:

    سلام امیدوارم حالتون خوب باشه. من حدود یک ماه پیش این محصول رو خریدم و کامل دانلود کردم و به دلایلی تازه رفتم سراغش اما فایل بنظر ناقصه و از هز ویدئو چند دقیقه بیشتر پخش نمیشه. ایمیل خریداری رو هم دارم.

  13. shima گفت:

    سلام
    باتشکر از زحمات شما میخاستم بپرسم متریال دیزاین که برای اندروید ۵ به بالاست در گوشی های اندروید ۴ و پایین تر چطور جواب میده؟
    و اینکه با چه ماشین مجازی تست میشه کرد؟

    • متیما یوسفی راد گفت:

      درود بر شما

      برای استفاده از خواص طراحی متریال در ورژن های پایین تر از ۵، باید از کتابخونه های مخصوص استفاده کنین. میتونین تو گوگل این عبارت رو جستجو کنین:

      how to use material design in api [14] in android programming

      من از شبیه ساز Genymotion استفاده میکنم. بنظرم گزینه خوبیه.

  14. mohsen گفت:

    سلام
    من سعی کردم ، طبق آموزش شما اقدام به حذف action bar کنم .
    اما هر بار که ReBuild رو میزنم با این خطا رو به رو میشم
    Error:Error retrieving parent for item: No resource found that matches the given name ‘Theme.AppCompat.NoActionbar’.

  15. mohsen گفت:

    SDK من ۲۱ هست احتمال نداره برای اون باشه
    اگر باری اونه ، چجوری ب ۲۲ ارتقا بدم؟

    • متیما یوسفی راد گفت:

      درود بر شما

      این دستور کامپایل رو باید در فایل build.gradle داشته باشید:
      compile ‘com.android.support:appcompat-v7:22.2.0’

      برای اضافه کردن ورژن جدید، میتونین sdk رو بروزرسانی کنین یا اینکه از سایت p30download آخرین نسخه رو دریافت کنین. داخل برنامه هم اگه میخواین مشخصات کامپایل برنامه رو ویرایش کنین به فایل build.gradle برین و گزینه های مربوط به minSdk و target… رو مطابق نیازتون تغییر بدین.

  16. علی گفت:

    سلام استاد
    واقعا ممنون خیلی مباحث خوبی رو درس میدین خیلی زحمت میکشین. ممنونم خسته نباشید واقعا
    فقط یک سوال : من با eclipse کار میکنم کلا و به اون عادت کردم الان قسمت اول آموزش شما رو دیدم یا اندروید استودیو هستش که بنظر محیظش خیلی فرق داره با ایکلیپس. اصلا فایلهای اونجا رو من نمیبینم. مثلا manifest و …
    کدهایی که اول آموزش نوشتین در قایل build.gradle
    کلا خیلی فرق داره. اگه من بخام این اموزشا رو توی eclipse اجرا کنم میشه ؟
    ممنون میشم راهنماییم کنید.

    • متیما یوسفی راد گفت:

      درود بر شما

      خواهش میکنم. فایل های موجود در اندروید استودیو معادل eclipse هستش؛ فقط حالت نمایششون فرق میکنه. مثلاً شما در eclipse هم فایل مانیفست رو دارین. اما در مورد build.gradle باید بگم که ابزاری هستش برای تعیین ورژن برنامه و یا اضافه کردن کتابخونه به پروژه که این عملیات در eclipse هم براحتی انجام میشه. بنظرم کدنویسی در هر دو محیط یکسان هستش فقط اندروید استودیو امکانات بیشتری داره که کار رو ساده تر میکنه. پس پیاده سازی برنامه ها در eclipse و اندروید استودیو یکسان هستش.

  17. علی شیرازی گفت:

    سلام – من متاسفانه مشکل بزرگی که دارم و هنوز نتوسنتم درست حسابی یاد بگیرم – طراحی بازی یا اپ روی اندروید برای دیوایس های متفاوت است که درسایز های مختلف درست اجرا شود. مشکل اصلی من با اندازه دستگاه ها است که هر کدام برنامه من را به شکل خاصی نشان میدهد. ممنون میشم بگویید در کدام قسمت ها این مطالب را کامل آموزش داده اید.
    استاندارد طراحی چگونه است ؟! و چگونه باید عکس ها دکمه ها و … طراحی و جاگذاری شود.
    با تشکر

    • متیما یوسفی راد گفت:

      درود بر شما

      در حین آموزش معمولاً این نکات گفته میشه. مثلاً اینکه عکس هایی با اندازه اولیه بزرگ رو درون پروژه درج کنیم و در برنامه بهشون اندازه موردنظرمون رو بدیم (با مقیاسی که با تغییر اندازه صفحه دستگاه، اندازه عکس هم تغییر کنه. مثلاً dp) یا اینکه میتونین از گرافیک وکتور (مثلاً تصاویر SVG) استفاده کنین. همینطور تعیین اندازه اشیاء با استفاده از فاصله اونها از اطراف (ینی بگیم از سمت چپ ۶۰dp و از سمت راست هم ۶۰dp فاصله داشته باشه. اونوقت اندازه شئ در اندازه های مختلف صفحه، تغییر میکنه) و یا راه های دیگه که میتونین با یه جستجوی ساده اینها رو یاد بگیرین. این دو صفحه رو ببینین:

      http://developer.android.com/training/multiscreen/index.html

      http://developer.android.com/guide/practices/screens_support.html

      • علی شیرازی گفت:

        ممنون هستم از پاسخ شما.
        آیا احتیاج هست که در اندروید استادیو در زیر شاخه layout فولدرهای ۳۲۲-sw و … ساخته بشه ؟ یا باید در dimension باید اندازه های اصلی ساخته بشه ؟! آیا راهی وجود داره که بشه اصلا بدون ساخت فلدر اضافی طراحی در کل دیوایس ها درست باشه ؟!
        مشکل من اینجا هست که ما دستگاه های بیشماری داریم با اندازه های مختلف – اصول اصلی برای طراحی برای همه دیوایس ها آیا مشخص است یا خیر ؟!

        • متیما یوسفی راد گفت:

          درود بر شما

          شما میتونین مقادیر موردنظرتون رو در فایل های مخصوص، نگهداری کنین و از اونها استفاده کنین (روش استاندارد همینه) ولی این اجباری نیست. یکی از مزایای phoneGap همین جا مشخص میشه. فون گپ از اشیاء وب برای ساخت برنامه استفاده میکنه و واکنش گرا کردن برنامه اندروید تو phoneGap خیلی ساده هستش. در مورد جاوا هم احتمالاً کتابخانه هایی برای این هدف وجود داره. یه راهی که الان به ذهنم رسید و نمیدونم جواب میده یا نه، اینه که در ابتدای اجرا برنامه، اندازه صفحه نمایش رو از دستگاه بگیریم و اشیاء برنامه رو با توجه به اندازه صفحه، تغییر سایز بدیم. ینی سایز اشیاء متغیر باشه!!!

  18. محمد گفت:

    سلام
    بنده آموزش های قبل … رو خریداری کردم و تقریبا همش رو نگاه کردم، اینجا این فصل رو را هم نگاه کردم
    اما هنوز سوالات زیادی در مورد طراحی در ذهن من هستش که نمی تونم جوابش رو پیدا کنم.

    مثلا یک لایه داشته باشم که درون لایه ۲ تا دکمه (باتون) داشته باشه ، دکمه ها رو طوری قرار بدهم که عرض صفحه به دو قسمت مساوی تقسیم بشود و هر کدام از دکمه درون (وسط) آن نصفه باشد.

    http://s3.picofile.com/file/8222844418/bg.png
    این تصویر اون چیزی هست که می خوام، ممنون میشم راهنمایی کنید که چگونه این دکمه ها در فایل لایه طراحی کنم.
    ممنون(جواب را هم اگر تونستید ایمیل کنید)
    با سپاس فراوان

    • متیما یوسفی راد گفت:

      درود بر شما

      اینکاری که شما میخواین خیلی سادس. میتونین از لایوت ها استفاده کنین. مثلاً اگه یه لایوت از نوع relative داشته باشین میتونین به راحتی یه دکمه در مرکزش قرار بدین. حالا اگه دوتا لایوت relative کنار هم بذارین که در مرکز هر دو، دکمه وجود داره، ساختار دلخواهتون رو ایجاد میکنین. برای کنار هم گذاشتنشون هم میتونین از لایوت Linear یا Table استفاده کنین. مقیاس در تعیین اندازه ها رو هم dp بذارین بجای پیکسل.

      برای تسلط بر طراحی میتونین کانال slidenerd در youtube رو ببینین.

      • محمد گفت:

        اگر خودم بلد بودم هیچ وقت این فایل ها را خریداری نمی کردم ، حتما بلد نیستم
        شما هم تو فیلم ها در مورد لایه ها خیلی کم توضیح داده اید و نحوه کار کردن با آنها را توضیح نداید(به طور کامل فیلم ها را مشاهده کرده ام فقط در مورد انها صحبت کرده اید که مثلا لایه لینترلیوت این صفات را داره و …)

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

        • مدیر گفت:

          درود بر شما
          ضمن تشکر از انتخاب و نظر شما لازم هست چند نکته رو پیرامون کامنتتون توضیح بدم:

          ۱- “اگر خودم بلد بودم هیچ وقت این فایل ها را خریداری نمی کردم” => پاسختون که در کامنت قبل ارسال شد => “میتونین از لایوت ها استفاده کنین. مثلاً اگه یه لایوت از نوع relative داشته باشین … .”

          ۲- “شما هم تو فیلم ها در مورد لایه ها خیلی کم توضیح داده اید و نحوه کار کردن با آنها را توضیح نداید” => همکاری ما با مدرس مجموعه اندروید ۲۰۱۴ حدود ۲ سال پیش به پایان رسیده. برای همین مجموعه ۲۰۱۴ رو حذف و مجموعه ۲۰۱۶ رو منتشر کردیم. برای ارتباط با مدرس مجموعه ۲۰۱۴ میتونید با ایمیل شخصی ایشون که داخل فیلم ها هست در ارتباط باشید.

          پ.ن: در حال حاضر مدرس و پشتیبان بخش اندروید استاد یوسفی راد هستن. هر سوال یا مشکلی پیرامون مجموعه اندروید ۲۰۱۶ دارید میتونید کامنت کنید تا پاسخ توسط ایشون ارسال بشه.

          ۳- “اگر زحمتی نیست شما روی سیستم خودتون انجام بدید و کلیپشو اپلود کنید” => فرآیند تهیه و انتشار آموزش مولتی مدیا قواعد مربوط به خودش رو داره و برای موارد این نمونه موارد پیش پا افتاده انجام نمیشه دوست عزیز :) این مدل سوالات با یه سرچ کوچیک در گوگل یا فروم های گفتگوی برنامه نویسی به نتیجه میرسه.

  19. میلاد گفت:

    با سلام. من فصل های دو و سه و چهارو خریدم ولی فقط واسه فصل چهار ایمیل دریافت کردم. حالا کل هاردم فرمت شده و همه ی فایل ها حذف شدن. لطف کنین لینک فایل ها رو دوباره واسم بفرستین. سپاس

  20. مهدی گفت:

    درود
    امکان اجرای پروژه های این درس با Eclipse هم هست ؟

    • متیما یوسفی راد گفت:

      درود بر شما

      احتمالاً امکانپذیر باشه. باید بتونین از کتابخونه ها استفاده کنین و sdk رو بصورت کامل در اختیار داشته باشین.

  21. hadi گفت:

    سلام آقای یوسفی راد
    ممنون از بابت آموزشهای خوبتان
    از نکاتی که در اموزشتان گفتید استفاده کردم اما از اینکه طوری طراحی کردیند که در نسخه های قدیمی اجرا نمیشه ناامید شدم! البته با رفتن به این مسیر
    http://www.androidhive.info/2015/04/android-getting-started-with-material-design/
    تونستم به مقصودم برسم
    ولی باز نیاز دارم برنامه راست چین بشه تو این مسیر کدی رو پیدا کردم اما متاسفانه خطا میده
    http://stackoverflow.com/questions/18547277/how-to-set-navigation-drawer-to-be-opened-from-right-to-left

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

  22. میثم گفت:

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

  23. امید گفت:

    با سلام

    میخواستم بدونم اینکه میگید متریال برای ورژن های بالاست خوب چطور تلگرام توی ۲٫۲ هم نویگیشن دروار داره؟

    بازار هم توی ۲٫۲ داره و از راست هم باز میشه اتفاقا

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

    • امید گفت:

      یا حتی دیگر ویژگی ها

      float button هم توی تلگرام موجوده که روی اندروید ۲٫۲ هم کار میده

    • متیما یوسفی راد گفت:

      درود بر شما

      متریال در ورژن ۵ به بعد اندروید معرفی شد اما میتونین از کتابخونه های موجود برای پیاده سازی امکانات جدید در اندروید های ورژن پایین، استفاده کنین (مثلاً AppCompat). اما در مورد دراور نیاز آنچنانی به طراحی متریال نیست. با کمی خلاقیت میشه یه اکتیویتی رو با دوتا انیمیش ترکیب کرد و یه دراور خوشگل ساخت!!

  24. hossein گفت:

    با عرض سلام
    تشکر از مدیریت سایت بابت مطالب آموزنده و ارزشمند
    بنده در جایی دیگر در مورد آشنایی با Material Design مطالبی را خواندم که فکر میکنم برای کاربران هم ارزشمند باشد.
    http://honeytech.ir/Blog/ID/67/اشنایی-با-Material-Design

  25. علی گفت:

    سلام استاد بنظرم جای خالی ساخت تب در این آموزش خالیه. من خیلی دوس دارم در برنامه هام تب قرار بدم ولی نمیتونم. همش کرش میکنه

    • متیما یوسفی راد گفت:

      درود بر شما

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

  26. farshad گفت:

    سلام دروازه ی پرداخت خرابه. چیکار میشه کرد؟

  27. جواد گفت:

    سلام جناب یوسفی راد
    یک سوال خیلی مهم داشتم
    شما تو اموزشتون از اندروید ۵ استفاده کردین ولی زیر ۵ درصد گوشی های دنیا این ورژنو ساپورت می کنن
    من چه طور میتونم همین کارایی که شما کردین مثل اکشن بار نویگشیشن دراور دکمه شناور و… رو رو اندروید های با ورژن پایین تر پیاده سازی کنم؟
    ممنون

    • متیما یوسفی راد گفت:

      درود بر شما

      زمان ایجاد پروژه برای نسخه های پایین اندروید در نرم افزار اندروید استودیو، بصورت خودکار کتابخونه appCompat به پروژه اضافه میشه. این کتابخونه و سایر کتابخونه های پشتیبان به شما کمک میکنن که ویژگی های جدید رو در اندروید ۵ به پایین پیاده سازی کنین.

      • جواد گفت:

        یعنی نیازی نیست کار خاصی بکنم؟
        به همین صورت که شما آموزش دادین انجام بدم و فقط ورژن اندرویدمو زیر ۲۲ بذارم کافیه؟

        • متیما یوسفی راد گفت:

          درود برشما

          اکثر مفاهیم مشترک هستش. ینی با اضافه کردن کتابخونه های پشتیبان به پروژه میتونین مشابه فیلم عمل کنین. اما ممکنه نیاز باشه که در برخی موارد از روش های متفاوتی استفاده کنین که میتونین با جستجو تو گوگل، روش رو پیدا کنین.

  28. علی گفت:

    سلام استاد عزیز . در مورد متون طولانی مثلا صفحه درباره ما چجوری باید کار کرد ؟ مثلا نرم افزارا بزرگ صفحات قشنگی برای صفحه درباره ما ساختند. برای این صفحات چکار کنیم؟ هم متن زیبا نشون داده بشه و هم justify

    • متیما یوسفی راد گفت:

      درود بر شما

      میتونین از وب ویو استفاده کنین و متن رو به صورت justify نمایش بدین. منظورم اینه که از خواص وب برای نمایش متن استفاده کنین.

  29. جواد گفت:

    یکی از مشکلات بزرگ من اینه که اصلا نمی دونم چه طور یک کتابخونه رو مثل MaterialDrawer رو به پروژم اضافه کنم
    میشه راهنماییم کنید؟

    • متیما یوسفی راد گفت:

      درود بر شما

      این مورد رو تو مجموعه آموزش دادم. خیلی سادس:

      دستور compile مربوط به کتابخونه رو داخل فایل build.gradle نسخه ماژول، در قسمت dependencies درج کنین و گزینه sync رو بزنین تا کتابخونه از اینترنت دریافت بشه و به پروژه اضافه بشه.

      • جواد گفت:

        خوب استاد مشکل اینجاست که بسیاری از کتابخونه ها از این طریق فعال نمیشن و بهم ارور میدن ولی بعضی کتابخونه ها به سادگی به همین روشی که گفتین دانلود میشن.
        یک سوال دیگه هم دارم شما تو آموزشتون قسمت navigation drawer وقتی می خواستین اون نویگیشنو تو اکتیوتی تعریف کنین از دستور getSupportFragmentManager() استفاده کردین. اما من وقتی اینو میزنم برام قرمز میشه و اصلا نداره.
        چکار کنم اینجا؟
        ممنون

        • متیما یوسفی راد گفت:

          درود برشما

          در مورد کتابخونه ها، ممکنه وبسایتش فیلتر باشه یا تحریم (!)، پس باید از ip changer استفاده کنین. اما در مورد مشکل دراور، دقت کنین که تگ ریشه فایل xml مربوط به دراور، مطابق ویدئو آموزشی باشه.

  30. جواد گفت:

    سلام
    خیلی ممنون از راهنماییتون
    اما مشکل من با تگ ریشه فایل xml نیست بلکه اونجا درست کار میکنه اما تو اکتیویتی وقتی فرگمنت رو میخوام تعریف کنم هنگام زدن دستور getSupportFragmentManager قرمز رنگ میشه و میگه اصلا همچین کلاسی رو نمیشناسه.
    ببخشید یک سوال دیگه یکم بیشتر میشه درباره ip changer توضیح بدین؟
    با تشکر فراوان

    • متیما یوسفی راد گفت:

      درود برشما

      احتمالا مشکل از کلاس والد هستش. اکتیویتی که دارین دراور رو توش تعریف میکنین باید از ActionBarActivity مشتق شده باشه. در مورد ip changer هم منظورم همون قندشکن هستش!

  31. جواد گفت:

    سلام جناب یوسفی
    اون مشکل قبلی که کفتم بهتون با راهنماییتون برطرف شد اما مشکل جدید تری بوجود آمده که هنگام اجرای برنامه فورس کلوز میزنه و میگه این دستور getSupportActionBar().setDisplayHomeAsUpEnabled(true); مشکل داره….اما من دیگه واقعا نمی دونم چه مشکلی داره.
    در ضمن یه چیزی که می خواستم بگم اینه که من اکشن بار خودمو به صورتی که شما آموزش دادین نساختم و کاملا دستی توسط android.support.v7.widget.Toolbar ساختم…به نظرتون این ارور قبلی می تونه به خاطر این موضوع باشه؟
    حالا من اینجا باید چکار کنم؟
    ممنون

    • متیما یوسفی راد گفت:

      درود بر شما

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

  32. علی گفت:

    سلام ببخشید من موقعی که می خواهم
    compile ‘com.oguzdev:CircularFloatingActionMenu:1.0.2’
    رو به فایل Build اضافه کنم و بعد گزینه sync رو میزنم پیغام خطا میده :
    Faild to resolve : compile ‘com.oguzdev:CircularFloatingActionMenu:1.0.2’
    الان باید چیکار کنم؟؟

  33. علی گفت:

    کنارش هم مینویسه : Error (24,13)

  34. مرتضی گفت:

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

    • متیما یوسفی راد گفت:

      درود بر شما

      در eclipse یادم نمیاد چطور از برنامه خروجی میگرفتیم. با یه جستجو تو گوگل میتونین جواب این مسئله رو پیدا کنین. اما تو اندروید استودیو باید از منوی build گزینه generate signed apk رو بزنین.

  35. محمدرضا گفت:

    استاد تو فیلم شما ریبیلد کردید مشکل حل شد اما من این کارو کردم نشد!مشکل از کجاست؟باید چیکارکنم؟

  36. محمدرضا گفت:

    style name=”MyMaterialTheme.Base” parent=”Theme.AppCompat.Light.DarkActionBa

  37. محمدرضا گفت:

    Error:A problem occurred configuring project ‘:app’.
    > Could not resolve all dependencies for configuration ‘:app:_debugCompile’.
    > Could not resolve com.android.support:appcompat-v7:23.0.0.
    Required by:
    app_design2:app:unspecified
    > Could not GET ‘https://jcenter.bintray.com/com/android/support/appcompat-v7/23.0.0/appcompat-v7-23.0.0.pom’.
    > Connection to https://jcenter.bintray.com refused

  38. امیر گفت:

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

  39. hesam گفت:

    سلام تو قسمت اول متریال دیزاین واسه من یه پوشه استایل هست ولی برای شما دوتا !

    • متیما یوسفی راد گفت:

      درود بر شما

      این مسئله بخاطر تفاوت ورژن اندروید استودیو هستش. در ورژن جدید اندروید استودیو، فایل style بصورت یکپارچه در اومده.

  40. علیرضا گفت:

    سلام وقت بخیر
    این آموزش فقط آموزش متریال است یا شامل برنامه نویسی اندروید هم میشود؟؟
    ( یعنی آموزش برنامه نویسی اندروید + متریال ) یا ( فقط متریال )

    • متیما یوسفی راد گفت:

      درود بر شما

      در قالب برنامه اندروید، طراحی متریال معرفی شده. البته کار با recyclerview رو تو این فصل یادم رفته بود درج کنم که آموزشش در فصل ۶ قرار داده شده.

  41. shvan گفت:

    خسته نباشید .
    در همون ابتدای کار که می خواستم پروژه رو rebulid کنم آندروید استودیو خطا داد که باید برنامه رو آپدیت کنم. منم نسخه جدیدتر آندروید استودیو که ۱٫۵٫۱ هستش رو دانلود کردم . اما هنگامی که پروژه جدید ایجاد میکنم یکسری خطا میده مثلا آدرس ndk و ….
    ممنون میشم کمک کنید.

    • shvan گفت:

      و اینکه در فایل build.gradle هم وقتی compile ‘com.android.support:appcompat-v7:22.0.+’ اضافه میکنم خطا میده. پیش فرض خودش compile ‘com.android.support:appcompat-v7:23.0.0’ گذاشته/
      با سپاس

      • متیما یوسفی راد گفت:

        درود بر شما

        سعی کنین در آدرس دهی کتابخونه ها از عدد ثابت استفاده کنین. ینی شماره کامل ورژن رو درج کنین نه +

    • متیما یوسفی راد گفت:

      درود بر شما

      برای برنامه نویسی با اندروید استودیو، نیازی به ndk نیست و فقط باید sdk کامل داشته باشین.

  42. امیرمحمد گفت:

    با سلام
    من تو اینترنت کلی گشتم،علاوه بر کتابخونه شما هرچی کتابخونه دیگه هم دیدم ادد کردم ولی بازم این برنامه مشکل داره
    تو قسمت دکمه شناور با ارور :
    Error:(29, 69) error: cannot find symbol class Builder
    مواجه شدم .میدونم مشکل از پیدا نکردن کلاس مورد نظر هستش ولی من آی پی هم تغییر دادم ولی بازم مشکل دارم
    اندروید اجرای برنامه ۴٫۴ است،فکر نکنم مشکل از api باشه برنامه های قبلی مشکل نداشتند
    تصویر برنامه:
    http://8pic.ir/images/kifswxrng95epwei236s.jpg

  43. shvan گفت:

    درود
    در ویدیوی چهارم به هر زحمتی بود پیش رفتم اما در اخرین مرحله ی کار که Runnable رو اضافه میکنید دکمه ی مورد نظر اضافه نمیشه . منظورم این کد ها هستنئ . ممنون میشم راهنمایی کنید.
    my_drawer_layout.post(new Runnable() {
    @Override
    public void run() {
    drawer_toggle.syncState();
    }
    });

  44. سعید گفت:

    سلام فصل بازی سازی کی اماده میشه؟

  45. hani گفت:

    سلام اقای یوسفی راد
    خسته نباشید
    ببخشید من وقتی میخوام اکلیپس باز کنم
    این ارور میاد
    http://8pic.ir/images/375a15xuw2huwnxqrvg2.png

    باید چیکار کنم؟

    • متیما یوسفی راد گفت:

      درود بر شما

      تصویری که گذاشتین خطای برنامه رو نشون نمیده. به فایل لاگ رجوع کنین و ببینین که اونجا چه خطایی رو گزارش کرده.

  46. ali گفت:

    سلام
    من موقع اجرا این خطا را میگیرم
    Error: Failed to resolve: junit:junit:4.12
    چه کنم؟

    • متیما یوسفی راد گفت:

      درود بر شما

      باید از داخل فایل build.gradle نسخه ماژول در بخش dependencies گزینه compile junit رو حذف کنین. چون این ابزار رو ندارین به پروژه اضافه نمیشه و خطا میده.

  47. صالح گفت:

    درود

    جناب یوسفی تو ویدئوی اول متریال دیزاین شما ۱ عدد پوشه استایل دارید که داخلش دو تا فایل styles.xml دارید و کد ها رو داخل هر دو به صورت متفاوت مینویسین ولی تو ورژن جدید برای ما دیگه این صورت نیست و پوشه استایل نداریم فقط یک دونه فایل styles.xml داریم الان ما دقیقا باید به چه صورت عمل کنیم؟

    • متیما یوسفی راد گفت:

      درود بر شما

      ما کدتون رو به صورت استاندارد بنویسین. ینی کدی که توی خروجی بهتون جواب میده. برنامه اندروید استودیو تبدیل های لازم رو خودش انجام میده.

      • صالح گفت:

        درود بر شما بعد از اینکه اولین اکتیویتی رو اضافه میکنیم به طور خودکار پوشه استایل درست شد و
        طبق ویدئو پیش رفتم ولی اونجایی که رنگ پاپ منو و نوشته هاشو تغییر میدیم من اصلا منو ندارم داخل اکشن بارم!

        • متیما یوسفی راد گفت:

          درود بر شما

          برای اینکه دکمه home رو در اکشن بار داشته باشین این دستور رو در متد onCreate (بعد از دستور setContentView) درج کنین:

          getSupportActionBar().setHomeButtonEnabled(true); // enable home btn

      • صالح گفت:

        یا اگه بهتر بگم من توی هیچ کدوم از پروژ هام اون دکمه منو رو داخل اکشن بار ندارم

        • متیما یوسفی راد گفت:

          درود دوباره

          پاسخ در نظر قبلی

        • صالح گفت:

          اضافه کردم فورس کلوز میده

        • متیما یوسفی راد گفت:

          درود بر شما

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

        • صالح گفت:

          درود استاد مشکل از اونجا بود که تو ورژن های جدید دایرکتوری menu به طور پیش فرض نداریم و همچنین متد های CreateOptionsMenu و onOptionsItemSelected هم دیگه داخل مین اکتیویتی نداریم به جاش داخل layout یک چیز دیگه به اسم content اضافه میشه خلاصه تغییرات کمی زیاده من اینها رو دستی ایجاد کردم درست شد
          ظاهرا ورژن ۲ اندروید استودیو هم اومده خدا بخیر بگذرونه با این آپدیتاش

        • متیما یوسفی راد گفت:

          درود بر شما

          اندروید استودیو دوتا آپدیت دیگه بده، مجموعه آموزشی ما رو منسوخ میکنه!!!!

        • صالح گفت:

          درود اگه اینطور باشه که هر چی مطلب آموزشی تو نت هست منسوخ شده!!
          برای من که اتفاقا بهتر شد این تغییرات کوچیک باعث شد و قت بیشتر برای یاگیری بزارم و فقط متکی به فیلم اموزشی نباشم به درک بهتری از آموزش ها رسیدم فکر نکنم تغییر کردن چند تا مورد پیشفرض آموزش ها رو منسوخ کنه.
          به هر حال گوگل مالک اندرویده گوگل هم که دیگه همه میدونن خوراکش اپدیته

        • متیما یوسفی راد گفت:

          درود بر شما

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

  48. a گفت:

    سلام آقای یوسفی راد
    یه مشکل دارم
    هنگام اضافه کردن کتابخونه توی اندروید استودیو باید از build.gradle استفاده کنیم
    من از نسخه ۱۵ Intellij استفاده میکنم ، متاسفانه این فایل ( build.gradle) به صورت پیشفرض در Intellij تعریف نشده و فقط توی AndroidStudio هست خواهشا اگر امکان دارد نحوه اضافه کردن کتابخونه رو توی Intellij رو بگید.
    با تشکر از آموزش های خوبتون

  49. amir گفت:

    خوب حالا ما به منابع این فایل های jar از کجا دسترسی پیدی کنیم؟

    • متیما یوسفی راد گفت:

      درود بر شما

      وقتی یه فایل jar رو به عنوان کتابخونه به پروژه اضافه میکنین، متد های داخل کتابخونه در سراسر پروژه در دسترس هستند.

  50. amir گفت:

    سلام
    خیلی ممنون از \اسخگویی خوب و عالیتون ُ مشکلم در مورد نحوه اضافه کردن کتابخونه رفع شد
    ببخشید زیاد سوال می\رسم
    خواستم بدونم فایل های jar رو که مورد نیاز \روژه هست از کجا میتونم تهیه کنم

  51. amir گفت:

    http://www.java2s.com/Code/Jar/CatalogJar.htm
    ایا این سایت همان کتابخونه های jar هستند و من میتونم ازشون استفاده کنم؟

    • متیما یوسفی راد گفت:

      درود دوباره

      با این سایت کار نکردم. بنظرم با همون maven کار کنین بهتره. ینی کتابخونه ها رو از maven بگیرین.

  52. محمد گفت:

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

    • متیما یوسفی راد گفت:

      درود بر شما

      بله. میتونین از کتابخونه های پشتیبان برای پیاده سازی قابلیت های جدید در ورژن های پایین استفاده کنین. برای اضافه کردن کتابخونه باید دستور کامپایل کتابخونه رو بذارین داخل فایل build.gradle نسخه ماژول در قسمت dependencies و گزینه sync رو بزنین تا کتابخونه دریافت و نصب بشه.

      • محمد گفت:

        خوب دستورش همانند ورژن های بالاتر هست فقط شماره نسخهباید عوض بشه اگر اره مثلا در api 14 باید ورژن چند بزنیم؟

        • متیما یوسفی راد گفت:

          درود بر شما

          شما باید دستور کامپایل رو از اینترنت بردارین. نیازی نیست که دستور رو بسازین. مثلاً شما میخواین کتابخونه appcompat ورژن ۷ رو به برنامه اضافه کنین. اول به این آدرس میرین (البته با آنتی شیلتر):

          http://developer.android.com/tools/support-library/features.html

          بعد دستور کامپایل کتابخونه رو کپی میکنین. این دستور:

          com.android.support:appcompat-v7:23.3.0

          همینطور میتونین سایر دستورات رو هم کپی کنین یا برای سایر کتابخونه ها تو گوگل جستجو کنین و دستورات رو پیدا کنین.

  53. محمد گفت:

    سلام من طبق اموزش شما جلو رفتم فقط دز قسمت سوم وقتی برای اولین بار run می گیرم برنامه متوقف میشه در خطsetContentView; امتحان کردم وقتی تگ fragment پاک میکنم درست مشکلی نیست حالا چطور می تونم بفهمم مشکل چیه

    • متیما یوسفی راد گفت:

      درود بر شما

      باید برنامه رو با استفاده از متد try…catch و دستور log خطایابی کنین و زمانی که برنامه خطا میده لاگ برنامه رو در بیارین. اونوقت میتونین خطا رو پیدا کنین.

  54. عیسی گفت:

    سلام
    خسته نباشید.
    شاید جاش اینجا نباشه من API 22 رو که دانلود کردم تو پوشه Platforms کپی کردم موقعی که با اندروید استادیو پروژهای می سازم ، تو پیش نمایشش نمی تونه رندر کنه خطا میده و کلا چیزی نمایش نمی ده اینو باید چکار کنم؟

    • متیما یوسفی راد گفت:

      درود بر شما

      خطایی که دریافت میکنین رو بذارین تا بررسی کنم.

      • a گفت:

        سلام
        ممنون که جواب دادین
        اگه می شه با جزئیات بگید چی رو باید دانلود کنم بعد کجای پروژه اونو اضافه کنم

        • متیما یوسفی راد گفت:

          درود بر شما

          فایل jar کتابخونه ای که میخواین به پروژه اضافه کنین رو از اینترنت دانلود کنین و از بخش dependencies به پروژه اضافه کنین. روش اضافه کردن کتابخونه به پروژه در اندروید استودیو بصورت آفلاین رو میتونین تو گوگل جستجو کنین.

  55. a گفت:

    سلام
    خسنه نبا شید می شه بگید این خطا رو چطور می تونم برطرف کنم از ف. شکن هم استفاده کردم اما درست نشده!
    Error:A problem occurred configuring project ‘:app’.
    > Could not resolve all dependencies for configuration ‘:app:_debugCompile’.
    > Could not resolve com.android.support:appcompat-v7:22.0.0.
    Required by:
    Material_Design:app:unspecified
    > Could not GET ‘https://jcenter.bintray.com/com/android/support/appcompat-v7/22.0.0/appcompat-v7-22.0.0.pom’.
    > Connection to https://jcenter.bintray.com refused

    • متیما یوسفی راد گفت:

      درود بر شما

      در صورتی که بصورت آنلاین نمیتونین کتابخونه رو دریافت کنین، بصورت آفلاین به پروژه اضافه کنید. ینی در ابتدا فایل jar رو دانلود کنین و بعد فایل رو به پروژه اضافه کنید.

  56. m گفت:

    سلام مهندس خسته نباشید من وقتی them رو noActionBar گذاشتم ProgressDialog سیاه نشون داده میشه می خواستم ببینم چطور میشه رنگ اونو تغییر داد

  57. سوران گفت:

    داداش ای ول عالی

  58. amir گفت:

    با سلام خدمت استاد عزیز
    ببخشید من وقتی سورس کد شمارو ایمپورت میکنم این ارور رو میده به من :
    failed to find Build Tools revision 23.0.0 rc2
    ممنون میشم راهنمایی بفرمایید.

    • متیما یوسفی راد گفت:

      درود بر شمال

      در فایل گریدل، تنیمات کامپایل رو مطابق نسخه build tools نصب شده در sdk خودتون تغییر بدین.

  59. علی گفت:

    سلام خیلی خیلی ممنون بابت آموزش ها و پشتیبانی فوق العادتون فقط چندتا مساله و سوال بود میخواستم بهش اشاره کنم…
    اول اینکه توجه داشته باشید که کمتراز ۳۰درصد از گوشی ها دارای اندروید باapi5یا بالاتر هستند …بااینکه اموزشتون درمورد متریال دیزاین خیلی خوبه ولی اگه به این مساله توجه نداشته باشین از ارزش اموزشتون کاسته میشه برا همین از شما خواهش میکنم که یه راهی برای اجرای متریال دیزاین در apiهای پایین تر به زبون ساده پیشنهاد کنیدالبته یه سری سایت معرفی کرده بودید ولی کمی توضیحاتش مبهم بود….
    دوم این که برنامه ی اندروید استودیوی آموزشی شما ورزنش خیلی قدیمی شده مثلا برای من اصلا فایلی به نام منو وجود نداره یا دو پوشه ی استایل وجود نداره وفقط یکیه(که اینها در بالا بهش اشاره شده) برای همین از شما میخواهم خودتون با توجه به اخرین ورزن اندروید استودیو برای حل این مساِِیل و دوگانگی ها راهی رو پیشنهاد بدین…..
    بازم خیلی خیلی ممنون از زحمات بی بدیلتون….موفق باشید

    • متیما یوسفی راد گفت:

      درود بر شما

      برای بخش اول، در مورد api استفاده شده در آموزش ها چون هدف آشنایی هستش و مباحث تخصصی بررسی نشده بنظرم زیاد تفاوتی نمیکنه که در چه ورژنی کد زده بشه. اغلب کد ها مثل هم هستند. برای متریال هم میشه از کتابخونه های پشتیبان استفاده کرد و ابزار های جدید رو در ورژن های پایین تر استفاده کرد.

      اما برای بخش دوم، مجموعه ۱ سال پیش اماده شده و اندروید استودیو الان خیلی متفاوت شده. بنظرم باید مستندات خود گوگل رو مطالعه کنین و با تغییرات نسخه جدید آشنا باشین.

  60. benyamin گفت:

    سلام دوست عزیز
    من با این آموزشت NavigationDrawer ساختم
    ولی یه مشکلی که دارم اینه که تو اکتیویتی Main لیست ویو دارم ,و وقنی NavigationDrawer رو باز میکنم و روی صفحه فرگمنتی که باز میشه لمس میکنم به لیست ویو واکنش نشون میده
    درحالی که Navigation باز هستش

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

  61. benyamin گفت:

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

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

    • متیما یوسفی راد گفت:

      درود بر شما

      میتونین قبل از ورود به اکتیویتی جدید، دراور رو ببندین. مثلاً یه تابع در کلاس دراور به این شکل تعریف کنین:

      public void changeDrawerState() {
      if( my_drawer_layout.isDrawerOpen(Gravity.RIGHT))
      {
      my_drawer_layout.closeDrawer(Gravity.RIGHT);
      }
      else
      {
      my_drawer_layout.openDrawer(Gravity.RIGHT);
      }
      }

  62. علی گفت:

    سلام … تو هر لویتی وقتی برنامه ی من تو موبایل واقعی اجرا میشه اگه زبانش انگلیسی باشه که هیچ ولی اگه زبانش فارسی باشه تمام باتن ها و اشیا راست چین میشن… راهی نیس که بتونم مانع این جابه جایی بشم؟؟؟؟؟
    این عکسا اسکرین شات موبایلمن
    وقتی زبان موبایلم انگلسیه:
    http://s7.picofile.com/file/8258417792/Screenshot_2016_07_02_18_56_31.png
    وقتی فارسیه:
    http://s6.picofile.com/file/8258417768/Screenshot_%DB%B2%DB%B0%DB%B1%DB%B6_%DB%B0%DB%B7_%DB%B0%DB%B2_%DB%B1%DB%B8_%DB%B5%DB%B5_%DB%B5%DB%B8.png

    میبینید وقتی که فارسیه حتی نوار عنوانم راست چین میشه

  63. علی گفت:

    سلام فلش بازگشت من در برنامه برعکسه..البته وقتی زبان گوشیم فارسیه چرا؟؟؟؟؟والبته ساپورت ارتی ال هم falseکردم
    http://s7.picofile.com/file/8259168042/testpic.png
    خیلی ممنون میشم اگه پاسخ بدین…..

    • متیما یوسفی راد گفت:

      درود بر شمال

      دقیق نمیدونم مشکل از کجاست. این دستور رو در ابتدای متد onCreate درج کنین تا اکتیویتی کامل چپ به راست بشه:

      getWindow().getDecorView().setLayoutDirection(View.LAYOUT_DIRECTION_LTR);

      • علی گفت:

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

        • متیما یوسفی راد گفت:

          درود بر شمال

          آیکون دکمه های تولبار رو میتونین تغییر بدین. نیازی نیست حتماً از آیکون پیشفرض استفاده کنین.

  64. علی گفت:

    سلام یه دکمه خودم ساختم ولی نمدونم چجوری به سمت چپ منتقلش کنم .. اگه میشه راهنمایی کنین
    http://s2.picofile.com/file/8260253518/Screenshot_%DB%B2%DB%B0%DB%B1%DB%B6_%DB%B0%DB%B7_%DB%B1%DB%B8_%DB%B2%DB%B0_%DB%B3%DB%B3_%DB%B4%DB%B2_1_.png

  65. علیرضا گفت:

    سلام جناب یوسفی
    من از اندروید استودیو ۲٫۱٫۲ استفاده می کنم و میشکلی که دارم اینه که پوشه styles-v21 رو ندارم تو قسمت values
    اگه ممکنه منو راهنمایی کنید
    ممنونم

  66. زینب گفت:

    سلام
    ضمن تشکر بخاطر ویدیوهای خوب برنامه نویسی
    تو قسمت دیزاین قسمت یک ،برای notification bar و navigation bar هیچ رنگی در نظر نمی گیره، تو خود آموزش هم وقتی برای این دوتا تو فایل style.xml که برای ورژن های قبلی هست اینهارو وارد می کنیم موقع اجرا خطا می گیره که بعد خودتون هم پاکش کردید و دیگه وارد نکردید
    ولی در فایل style.xml(v21 ) برای همه آیتم کالر رو نوشتیم ،برای من حتی غیر از زمان اجرا در activity_main.xml هم نشون نمیده تغییر رنگ نویگیشن و نوتیفیکیشن رو،بنظر شما اشکال از کجاست؟

  67. رضــــا گفت:

    سلام آقای یوسفی راد
    میگم من یه برنامه نوشتم و وقتی داشتم اول پروژمو ایجاد میکردم روی API.21 پروژمو راه انداختم
    این برنامه رو روی گوشی خودم که اندروید ۵٫۱٫۱ هست اجرا کرد اما روی اندروید ۳٫۴ اجرا نکرد.
    راهی نیست که بتونم روی اندروید پایین تر اجراش کنم
    راستی ممنون بابت ویدیو های خوبتون … :)

    • متیما یوسفی راد گفت:

      درود بر شما

      در فایل build.gradle میتونین نسخه اندروید مقصد و کمترین ورژن موردنیاز رو تعیین کنین و برنامه رو کامپایل کنین.

  68. رضــــا گفت:

    ببخشید استاد یه سوال دیگه داشتم
    من یه دکمه ای رو توی بخش نویگیشن دراورم گذاشتم و میخوام با اون به یه اکتیویتی جدید برم
    میشه بگید دقیقا باید چی کار کنم

    • متیما یوسفی راد گفت:

      درود بر شما

      کافیه برای اون دکمه یه رویداد کلیک تعریف کنین و بعد عملیات باز کردین اکتیویتی جدید با intent رو در متد کلیک بنویسین.

  69. شایان گفت:

    سلام
    کلا برای ساخت برنامه اندروید دلخواهم باید اول جاوا رو یاد بگیرم؟

    • متیما یوسفی راد گفت:

      درود بر شما

      زبان های دیگری هم برای ساختن برنامه اندروید وجود داره. اما جاوا ساده تر و کامل تر از بقیه موارد هستش.

  70. Reza گفت:

    با سلام خدمت استاد متیما
    ببخشید یه سوال، چطور میتونم رنگ دکمه شناورمو عوض کنم
    و اینکه رزولوشنشو کم یا زیاد کنم ؟ آخه گوشه های دایره خیلی تیزی داره ، دقت کردین که ؟؟؟!!!
    ممنون میشم پاسخ بدید :)

  71. Reza گفت:

    سلام، استاد چحوری میتونم رنگ دکمه نویگیشن دراورمو عوض کنم ؟
    آخه تولبارم میشکی و خوب نمیخونه
    لطفا دقیق راهنماییم کنید
    یه دنیا ممنون :)

  72. نجمه گفت:

    سلام وخسته نباشید خدمت شما.ببخشید ازنظرخودتون آموزشهای این پکیج کامل وجامع هست یانه؟
    ویانیازی به منابع دیگری هم هست>؟

  73. محمد گفت:

    با سلام
    نرم افزاری که سورس کد برنامه های اندورید رو در بیاره رو دارید؟
    ممنون میشم به ایمیلم بفرستید

  74. سجاد گفت:

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

    • متیما یوسفی راد گفت:

      درود بر شما

      برای داشتن دراور در هر اکتیویتی باید کد مربوطه رو در کلاسش فراخوانی کنین. تأثیری در حجم برنامه نداره. چون کدش نهایتاً ۴ یا ۵ خطه.

  75. محمد گفت:

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

    • متیما یوسفی راد گفت:

      درود بر شما

      برای داشتن یه طراحی مناسب، باید از لایوت های مختلف استفاده کنین. مثلاً لایوت ریشه رو Relative بذارین و داخلش از Linear استفاده کنین. بعد میونین برای هر آیتم از لایوت Linear دوباره یه لایوت relative بذارین تا طراحی شما هم منعطف باشه و هم با اندازه صفحه های مختلف سازگار باشه.

      • محمد گفت:

        بهترین راهکار فعلا همینه؟ یا مثلا کتابخونه ای داره طراحی متریال که بهتر باشه
        linear که فرمودید افقی باشه یا عمودی

        • متیما یوسفی راد گفت:

          درود بر شما

          طراحی منعطف و سازگار خودش یه بحث آموزشی هستش و راه های مختلفی برای طراحی زیبا وجود داره. مثلاً استفاده از اشیاء و ابزار هایی که در همه اندازه های صفحه نمایش، یه شکل خاص دارند. مثل toolbar یا bottombar و … . در مورد لایوت linear هم من مثال زدم. بسته به کاربردتون هر لایوتی که نیازه رو باید استفاده کنین. مثلاً همین افقی یا عمودی زمان چینش اشیاء در طراحی شما تعیین میشه.

  76. sja گفت:

    سلام استاد
    بابت آموزشهای عالی و نابی که در اختیار ما گذاشتین کمال تشکر و آرزوی موفقیت و پیشرفت در راه تعلیم وتدریس رو دارم.
    استاد عزیز ، من با اجازه شما در دانشگاهی کلاسهای برنامه نویسی اندروید رو دارم برگزار میکنم و آموزشهای شما رو مرحله به مرحله دریافت کردم و الان قصد دارم در اختیار شاگردام بگذارم که کاستیهای ما با آموزشهای بی نقص شما تکمیل بشه.
    منتظر اجازه شما هستم!

    و یه سؤال ؟؟؟؟؟؟
    ممنون میشم اکه برای ساخت فایل pdf و اینکه چگونه متنی رو به صورت pdf ذخیره کنیم ، راهنمایی بفرمایید.
    با تشکر
    شاگرد و دوستدار شما

  77. behnam گفت:

    سلام خسته نباشید میخاستم بدونم در دوره اموزشیتون اضافه کردن(Icon) به ایتم های(navigation drawer)هم اموزش میدید

    • متیما یوسفی راد گفت:

      درود بر شما

      درج آیکون بسته به نوع آیتم داره. اگه لیست ویو بذارین درج آیکون با شخصی سازی آدا\تور ممکنه. اگه دکمه های عادی بذارین میتونین براشون آیکون انتخاب کنین.

  78. محمد گفت:

    سلام ، آقای یوسفی راد تو بخش فرگمنت تمامی کد ها رو درست پیاده میکنم اما setDrawerListener رو نمیپذیره.
    در ضمن اندروید استودیو من ۲٫۲٫۲ هست و همچنین MainActivity هم از Appcompatactivity مشتق شده نه از Actionbaractivity یعنی این هم تغییر میدم روش یه خط میکشه . وقتی خروجی میگیرم اجرا میشه بدون فرگمنت.

  79. hossein گفت:

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

  80. محمد گفت:

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

    • متیما یوسفی راد گفت:

      درود بر شما

      میتونین فراخوانی یه فراگمنت به عنوان پیشفرض رو بردارین. به تعریف فراگمنت در فایل xml اکتیویتی توجه کنین.

  81. سجاد گفت:

    سلام متیما جان یه سوال دارم من میخوام ImageButton بزارم ولی یه کادر دور ایکونم میندازه مشکل از چی هست؟
    http://www.upsara.com/images/690x_layout-2017-01-22-221006.png
    اینم عکسش

    • متیما یوسفی راد گفت:

      درود بر شما

      شئ image button یه دکمه هستش که یه تصویر (آیکون) روش قرار میگیره. اگه فقط تصویر میخواین باید از ImageView استفاده کنین و براش onClick تعریف کنین.

  82. سارا گفت:

    سلام استاد یوسفی
    من هرکاری میکنم دکمه overflow menu ندارم روی اکشن باری که ساختم
    اندروید استدیو ۲٫۱٫۲
    حتی طبق خود سایت https://developer.android.com/training/appbar/setting-up.html هم که پیش میرم برام ظاهر نمیشه
    با این که به صورت دستی دایرکتوری menu رو ساختم و آیتم هم داخلش قرار دادم
    توی MainActivity هم onOptionsItemSelected رو آورراید کردم
    نمی تونم مشکل رو پیدا کنم ممنون میشم راهنماییم کنید

دیدگاه شما

نام

ایمیل

سایت( اختیاری )

*