// This is quite simple: if (position < 0) { // Create your out animation here } else { // Create your in animation here } } }. import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.ImageView;import android.widget.TextView; import androidx.annotation.NonNull;import androidx.recyclerview.widget.RecyclerView; public class OnboardingAdapter extends RecyclerView.Adapter{. Batch Import Images for Different Screen Resolution in Android Studio, Correct Way to Add a Splash Screen in Android. private void setOnboardingItem() { List onBoardingItems = new ArrayList<>(); OnBoardingItem itemFastFood = new OnBoardingItem(); itemFastFood.setTitle(Fast Delivery to your home); itemFastFood.setDescription(Our delivery partner is on the way to your home!); itemFastFood.setImage(R.drawable.on_the_way); OnBoardingItem itemPayOnline = new OnBoardingItem(); itemPayOnline.setTitle(E-Pay your bill online); itemPayOnline.setDescription(Electric bill payment is a feature of online, mobile and net banking!); itemPayOnline.setImage(R.drawable.pay_online); OnBoardingItem itemEatTogether = new OnBoardingItem(); itemEatTogether.setTitle(Eat together); itemEatTogether.setDescription(Enjoy your meal and have a great day. Learning Android Development | Relative Layout, Now create a new activity for first onboarding screen. What is a RecyclerView and How it works internally? In this tutorial, we will learn how to create walkthrough screens/onboarding screens in android studio using viewpager and viewpager 2. One time screen because it only displays only for one-time, after that it wont show until the application is reinstalled. dependencies { implementation com.google.android.material:material:1.3.0 //viewpager 2 implementation androidx.viewpager2:viewpager2:1.0.0}, , , , , , , , , . Android Projects - From Basic to Advanced Level, Broadcast Receiver in Android With Example. @NonNull @Override public Object instantiateItem(@NonNull ViewGroup container, int position) {// return super.instantiateItem(container, position); LayoutInflater layoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); View view = layoutInflater.inflate(layouts[position], container, false); view.setTag(position); @Override public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {// super.destroyItem(container, position, object); container.removeView((ConstraintLayout) object); }. Come write articles for us and get featured, Learn and code with the best industry experts. How to Change the Screen Orientation Programmatically using a Button in Android? How to Create a Splash Screen in Android using Kotlin? How to Detect Touch Event on Screen Programmatically in Android? import android.os.Bundle;import android.text.Html;import android.widget.LinearLayout;import android.widget.TextView; public class OnBoardingForthActivity extends AppCompatActivity {. private int[] slider_images = { R.drawable.fa2, R.drawable.fa6, R.drawable.fa7, R.drawable.fa5 }; private String[] slider_title = { Food in your area, Food which is Health, Food you love, Food that matter }; private String[] slider_desc = { Lorem Ipsum is simply dummy text of the printing and typesetting industry., Lorem Ipsum is simply dummy text of the printing and typesetting industry., Lorem Ipsum is simply dummy text of the printing and typesetting industry., Lorem Ipsum is simply dummy text of the printing and typesetting industry. }; @Override public int getCount() { return slider_title.length; }, @Override public boolean isViewFromObject(@NonNull View view, @NonNull Object object) { return view == (RelativeLayout) object; }. Note that we are going toimplement this project using theJavalanguage. private ViewPager viewPager; private OnBoardingForthAdapter adapter; private LinearLayout layout_dots; private TextView[] tv_dots; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_on_boarding_forth); viewPager = findViewById(R.id.forth_view_pager); layout_dots = findViewById(R.id.layout_dots); adapter = new OnBoardingForthAdapter(OnBoardingForthActivity.this); viewPager.setAdapter(adapter); viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {, @Override public void onPageSelected(int position) { addDots(position); }, @Override public void onPageScrollStateChanged(int state) {. Congratulations, we have successfully made the Onboarding screen for our application. Goals or purposes of Onboarding screen: Here is the sample video of the onboarding screen which we are going to create in this article. Here I create four different onboarding screens just to show you how to use the viewpager and viewpager 2 in the case of creating the onboarding screens. Now create a new activity for the third onboarding screen. So, open your android studio, and lets get started. package com.codewithgolap.imageslider.onboardingSecond; import com.codewithgolap.imageslider.HomeActivity;import com.codewithgolap.imageslider.R;import com.codewithgolap.imageslider.onboadingOne.OnBoardingItem;import com.codewithgolap.imageslider.onboadingOne.OnboardingAdapter;import com.google.android.material.button.MaterialButton; public class OnBoardingTwoActivity extends AppCompatActivity {. package com.codewithgolap.imageslider.onboardingThird; import androidx.viewpager.widget.ViewPager;import androidx.viewpager2.widget.ViewPager2; public class OnboardingPageTransformer implements ViewPager.PageTransformer{, @Override public void transformPage(View page, float position) {. How to Change the Background Color of Button in Android using ColorStateList? Dont forget to rate us!); itemEatTogether.setImage(R.drawable.eat_together); onBoardingItems.add(itemFastFood); onBoardingItems.add(itemPayOnline); onBoardingItems.add(itemEatTogether); onboardingAdapter = new OnboardingAdapter(onBoardingItems); The output of the first onboarding screen: , , , , , , , @NonNull @Override public OnboardingViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { return new OnboardingViewHolder( LayoutInflater.from(parent.getContext()).inflate( R.layout.item_container_boarding_two, parent, false ) ); }. Create the item layouts for the third onboarding screen, Create a transform class for the layout transformation (. Now the question is who are the first-time users of the application? And design the main layout. The final output is shown below. Go to the MainActivity.java file and refer to the following code. @NonNull @Override public Object instantiateItem(@NonNull ViewGroup container, int position) { LayoutInflater layoutInflater = (LayoutInflater) context.getSystemService(context.LAYOUT_INFLATER_SERVICE); View view = layoutInflater.inflate(R.layout.onboarding_item_layout_forth, container, false); ImageView img_banner = view.findViewById(R.id.img_banner); TextView tv_title = view.findViewById(R.id.tv_title); TextView tv_desc = view.findViewById(R.id.tv_desc); img_banner.setImageResource(slider_images[position]); tv_title.setText(slider_title[position]); tv_desc.setText(slider_desc[position]); @Override public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) { container.removeView((RelativeLayout) object); }}. Instate of Splash Screen which we have created earlier, we have to create the onboarding screens of our android spp. package com.codewithgolap.imageslider.onboadingOne; public class OnBoardingItem { private int image; private String title; private String description; public void setImage(int image) { this.image = image; }, public String getTitle() { return title; }, public void setTitle(String title) { this.title = title; }, public String getDescription() { return description; }, public void setDescription(String description) { this.description = description; }}. // Get the page index from the tag. Also, visit my website www.gbandroidblogs.com for more content like this. Walkthrough and onBoarding screens are screens for first-time users of the android app. Welcomes user and excite them about application ahead. now, create an adapter for inflate the layout. OnBoardingItem itemFastFood = new OnBoardingItem(); itemFastFood.setTitle(Choose your meal); itemFastFood.setDescription(You can easily choose your meal and take it!); itemFastFood.setImage(R.drawable.choose_your_meal); OnBoardingItem itemPayOnline = new OnBoardingItem(); itemPayOnline.setTitle(Choose your payment); itemPayOnline.setDescription(You can pay us using any methods, online or offline!); itemPayOnline.setImage(R.drawable.choose_your_payment); OnBoardingItem itemEatTogether = new OnBoardingItem(); itemEatTogether.setTitle(Fast delivery); itemEatTogether.setDescription(Our delivery partners are too fast, they will not disappoint you!); itemEatTogether.setImage(R.drawable.fast_delivery); OnBoardingItem itemDayAndNight = new OnBoardingItem(); itemDayAndNight.setTitle(Day and Night); itemDayAndNight.setDescription(Our service is on day and night!); itemDayAndNight.setImage(R.drawable.day_and_night); onBoardingItems.add(itemFastFood); onBoardingItems.add(itemPayOnline); onBoardingItems.add(itemEatTogether); onBoardingItems.add(itemDayAndNight); , , , , , , , , , , , , , , , , , , , , , , , , , , . You can change the name of the project at your convenience. The output of the third onboarding screen: , , , , , , .