ساخت اینترو (صفحه ورود ) برای برنامه اندروید
سلام دوستان عزیز این در این سری از آموزش های برنامه نویسی اندروید به آموزش ساخت اینترو (صفحه ورود ) برای برنامه اندروید می پردازیم قبل تر نیز ما خودمان یک اینترو رو آموزشش رو داده بودیم اینترو قبلی هم متریال دیزاین بودش خوب ولی یکم سخت بود و باعث افزایش حجم برنامه نیز می شد از لینک می تونید به آموزش قبل دسترسی پیدا کنید در این آموزش ما از یکی از کتاب خانه های کاربردی برای ساخت intro ازش استفاده می کنیم.شاید بهتر باشه ماحصل نهایی رو ابتدا کار ببینید !
برای ابتدا کار فایل Build.gradle را باز کرده وخط زیر را به آن اضافه کنید.
1 | maven { url 'https://jitpack.io' } |
و بخش نهایی آن به شکل زیر می شود.
1 2 3 4 5 6 | allprojects { repositories { ... maven { url 'https://jitpack.io' } } } |
بعد از آن فایل moudle.gradle را باز کرده و خط زیر را به آن اضافه کنید.
1 | compile 'com.github.apl-devs:appintro:v4.2.0' |
و بخش نهایی آن به شکل زیر می شود ( دوستان علت توضیح دادن به شکل ابتدایی این است که بعضی از دوستان شاید اولین بار باشه که دارن با اندروید استودیو کار می کنن )
1 2 3 | dependencies { compile 'com.github.apl-devs:appintro:v4.2.0' } |
حال باید یه اکتویتی custom (سفارشی) درست کنیم که instance از app intro (کتاب خانه ای اضافه کردیم) بگیرد.
دقت کنید یک اکتیویتی جدید ایجاد کنید و کد های زیر را به آن اضافه کنید یا حواستان باشد exntend از AppIntro گرفته شده باشد و دقت کنید setContentView استفاده نکنید و یه چیز دیگه این اکتیویتی به فایل layout احتیاج ندارد !
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | public class IntroActivity extends AppIntro { @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); addSlide(AppIntroFragment.newInstance(title, description, image, backgroundColor)); setBarColor(Color.parseColor("#3F51B5")); setSeparatorColor(Color.parseColor("#2196F3")); // Hide Skip/Done button. showSkipButton(false); setProgressButtonEnabled(false); setVibrate(true); setVibrateIntensity(30); } @Override public void onSkipPressed(Fragment currentFragment) { super.onSkipPressed(currentFragment); // Do something when users tap on Skip button. } @Override public void onDonePressed(Fragment currentFragment) { super.onDonePressed(currentFragment); // Do something when users tap on Done button. } @Override public void onSlideChanged(@Nullable Fragment oldFragment, @Nullable Fragment newFragment) { super.onSlideChanged(oldFragment, newFragment); // Do something when the slide changes. } } |
حالا کد های بالا رو کم کم بررسی می کنیم
1 | addSlide(AppIntroFragment.newInstance(title, description, image, backgroundColor)); |
هر تعداد اسلاید که بخواهید اضافه کنید باید از کد بالا استفاده کنید خیلی هم واضح است و به جای title باید یک متن و description هم یک متن است که زیر تایتل نمایش داده می شود و در اخر هم یک رنگ
1 2 | setBarColor(Color.parseColor("#3F51B5")); setSeparatorColor(Color.parseColor("#2196F3")); |
setBarColor رنگ پشت زمینه را تنظیم می کند.
setSeparatorColor رنگ نقطه ها را تنظیم می کند.
1 2 3 | showSkipButton(false); setProgressButtonEnabled(false); setVibrate(true); |
showSkipButton نمایش یا عدم نمایش دکمه skip
یکسری انیمیشن که می تونید توی اسلاید ها استفاده کنید این انیمیشن ها درون ساهت هستند.
1 2 3 4 5 | setFadeAnimation() setZoomAnimation() setFlowAnimation() setSlideOverAnimation() setDepthAnimation() |
و مهمترین بخش آن تغییر نام دکمه skip و done هست برای این کار وارد فایل string.xml بشید و این د خط زیر را به آن اضافه کنید.
1 2 | <string name="skip_button">رد شدن</string> <string name="done_button">پایان</string> |
و سه onPressed که در زیر به آن می پردازیم
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | @Override public void onSkipPressed(Fragment currentFragment) { super.onSkipPressed(currentFragment); // Do something when users tap on Skip button. } @Override public void onDonePressed(Fragment currentFragment) { super.onDonePressed(currentFragment); // Do something when users tap on Done button. } @Override public void onSlideChanged(@Nullable Fragment oldFragment, @Nullable Fragment newFragment) { super.onSlideChanged(oldFragment, newFragment); // Do something when the slide changes. } |
اولی onSkipPressed یعنی هر وقت روی دکمه skip کلیک شد یک کاری بکن
دومی onDonePressed زمانی که روی دکمه done کلیک شد یک کاری بکن و اخری زمانی که از یک اسلاید به اسلاید دیگر رفت یک کاری انجام بده.
سلام خسته نباشید من هانگام سینک کردن با گردل مشکل دارم
error (23 , 13) failed to resolve : com.github.apl-devs:appintro:v4.2.0
با ه*ا*ت ا*س*پ*ا*ت هم میزنم همینه.
سلام و درود
وارد Build.gradle شوید بخش Top level نه خود moudle خط زیر را در بخش repositories اضافه کنید.
موفق باشید.
سلام
خسته نباشی
ببخشید کاری که گفتید رواگر انجام هم بدیم که باز ارور میده و چند تا از compile های دیگه رو از کار می اندازه
این هم ارور های compile ها
Error:Failed to resolve: com.android.support:appcompat-v7:25.3.1
Error:Failed to resolve: com.android.support:support-annotations:25.3.1
بی زحت بگید باید چی کار کنیم.
دستتون درد نکنه
سلام. مرسی این آموزش به خوبی کار میکنه.
فقط من نتونستم اسم دکمه های skip و done رو عوض کنم. string هایی را که فرمودید اضافه کردم. اما تغییری نکرد. ممنون میشم راهنمایی کنید.
سلام با تغییر آن string ها (تعریفشون) مشکل حل می شود.
سلام ، از این کدها استفاده کن :
[Translation for SKIP]
[Translation for NEXT]
[Translation for BACK]
[Translation for DONE]
[Translation for “graphics”]
توضیحات بسیار روان و سادست…ممنون از زحمتاتتون..بنده به تازگی شروع کردم و مبتدی هستیم..میخواستم بدونم این اینترو رو چجوری به.نمایش.در بیاریم؟به.اکتویتی.دیگه.ای نیاز.نیست؟
سلام و درود
این آموزش وابسطه به یک کتاب خانه است پس از اضافه کردن و ساخت یک اکتیویتی می توانید آن را به نمایش در بیارید.
موفق باشید.
سلام
میشه روش TypeFace ست کرد؟