title: How to make Progress Bar Spinner while fragment load its images (with Glide)?
body: <p>I'm using ViewPager in my app, it's contains 7 fragments.
  Each fragment contains many images.
  I want to display loading spinner while the fragment load the images with Glide (The images are not from the internet! there is no need in downloading).
  It's take about half a second to load the images and it seems there is a lag.
  So I want to know how to display the Spinner Progress Bar.</p>
  
  <p>MainActivity.java :</p>
  
  <pre><code>  protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      ViewPager viewPager = (ViewPager) findViewById(R.id.viewpager);
      setupViewPager(viewPager);
      if (isRTL())
          viewPager.setCurrentItem(7);
  
      TabLayout tabLayout = (TabLayout) findViewById(R.id.tabs);
      if (Build.VERSION.SDK_INT &gt;= Build.VERSION_CODES.JELLY_BEAN_MR1) {
          tabLayout.setLayoutDirection(View.LAYOUT_DIRECTION_LTR);
      }
      tabLayout.setupWithViewPager(viewPager);
  }
  
   public static boolean isRTL() {
      return isRTL(Locale.getDefault());
  }
  
  public static boolean isRTL(Locale locale) {
      final int directionality = Character.getDirectionality(locale.getDisplayName().charAt(0));
      return directionality == Character.DIRECTIONALITY_RIGHT_TO_LEFT ||
              directionality == Character.DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC;
  }
  
  private void setupViewPager(ViewPager viewPager) {
      ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());
  
      if (isRTL()) {
          // The view has RTL layout
          adapter.addFragment(new S7(), getString(R.string.stage7));
          adapter.addFragment(new S6(), getString(R.string.stage6));
          adapter.addFragment(new S5(), getString(R.string.stage5));
          adapter.addFragment(new S4(), getString(R.string.stage4));
          adapter.addFragment(new S3(), getString(R.string.stage3));
          adapter.addFragment(new S2(), getString(R.string.stage2));
          adapter.addFragment(new S1(), getString(R.string.stage1));
          adapter.addFragment(new Intro(), getString(R.string.Introduction));
      } else {
          // The view has LTR layout
          adapter.addFragment(new Intro(), getString(R.string.Introduction));
          adapter.addFragment(new S1(), getString(R.string.stage1));
          adapter.addFragment(new S2(), getString(R.string.stage2));
          adapter.addFragment(new S3(), getString(R.string.stage3));
          adapter.addFragment(new S4(), getString(R.string.stage4));
          adapter.addFragment(new S5(), getString(R.string.stage5));
          adapter.addFragment(new S6(), getString(R.string.stage6));
          adapter.addFragment(new S7(), getString(R.string.stage7));
      }
      viewPager.setAdapter(adapter);
  }
  
  class ViewPagerAdapter extends FragmentPagerAdapter {
      private final List&lt;Fragment&gt; mFragmentList = new ArrayList&lt;&gt;();
      private final List&lt;String&gt; mFragmentTitleList = new ArrayList&lt;&gt;();
  
      public ViewPagerAdapter(FragmentManager manager) {
          super(manager);
      }
  
      @Override
      public Fragment getItem(int position) {
          return mFragmentList.get(position);
      }
  
      @Override
      public int getCount() {
          return mFragmentList.size();
      }
  
      public void addFragment(Fragment fragment, String title) {
          mFragmentList.add(fragment);
          mFragmentTitleList.add(title);
      }
  
      @Override
      public CharSequence getPageTitle(int position) {
          return mFragmentTitleList.get(position);
      }
  }
  </code></pre>
  
  <p>Fragment:</p>
  
  <pre><code>import android.os.Bundle;
  import android.support.v4.app.Fragment;
  import android.view.LayoutInflater;
  import android.view.View;
  import android.view.ViewGroup;
  import android.widget.ImageView;
  
  import com.bumptech.glide.Glide;
  
  
  public class Intro extends Fragment {
  
  public Intro() {
      // Required empty public constructor
  }
  
  @Override
  public View onCreateView(LayoutInflater inflater, final ViewGroup container,
                           Bundle savedInstanceState) {
  
       View rootView = inflater.inflate(R.layout.fragment_intro, container, false);
  
       ImageView image1 = (ImageView)rootView.findViewById(R.id.imageView_S0P1);
       ImageView image2 = (ImageView)rootView.findViewById(R.id.imageView_S0P2);
       ImageView image3 = (ImageView)rootView.findViewById(R.id.imageView_S0P3);
       ImageView image4 = (ImageView)rootView.findViewById(R.id.imageView_S0P4);
       ImageView image5 = (ImageView)rootView.findViewById(R.id.imageView_S0P5);
       ImageView image6 = (ImageView)rootView.findViewById(R.id.imageView_S0P6);
       ImageView image7 = (ImageView)rootView.findViewById(R.id.imageView_S0P7);
       ImageView image8 = (ImageView)rootView.findViewById(R.id.imageView_S0P8);
       ImageView image9 = (ImageView)rootView.findViewById(R.id.imageView_S0P9);
       ImageView image10 = (ImageView)rootView.findViewById(R.id.imageView_S0P10);
       ImageView image11 = (ImageView)rootView.findViewById(R.id.imageView_S0P11);
       ImageView image12 = (ImageView)rootView.findViewById(R.id.imageView_S0P12);
       ImageView image13 = (ImageView)rootView.findViewById(R.id.imageView_S0P13);
  
  
      if (image1.getDrawable()==null) {
          Glide.with(rootView.getContext()).load(R.drawable.s0p1).asBitmap().into(image1);
          Glide.with(rootView.getContext()).load(R.drawable.s0p2).asBitmap().into(image2);
          Glide.with(rootView.getContext()).load(R.drawable.s0p3).asBitmap().into(image3);
          Glide.with(rootView.getContext()).load(R.drawable.s0p4).asBitmap().into(image4);
          Glide.with(rootView.getContext()).load(R.drawable.s0p5).asBitmap().into(image5);
          Glide.with(rootView.getContext()).load(R.drawable.s0p6).asBitmap().into(image6);
          Glide.with(rootView.getContext()).load(R.drawable.s0p7).asBitmap().into(image7);
          Glide.with(rootView.getContext()).load(R.drawable.s0p8).asBitmap().into(image8);
          Glide.with(rootView.getContext()).load(R.drawable.s0p9).asBitmap().into(image9);
          Glide.with(rootView.getContext()).load(R.drawable.s0p10).asBitmap().into(image10);
          Glide.with(rootView.getContext()).load(R.drawable.s0p11).asBitmap().into(image11);
          Glide.with(rootView.getContext()).load(R.drawable.s0p12).asBitmap().into(image12);
          Glide.with(rootView.getContext()).load(R.drawable.s0p13).asBitmap().into(image13);
      }
  
                  // Inflate the layout for this fragment
          return rootView;
   }
  }
  </code></pre>
  
  <p>Fragment.xml :</p>
  
  <pre><code> &lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;ScrollView
  xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  tools:context="appinventor.ai_itiel_maimon.Rubiks_cube.Intro"&gt;
  
   &lt;LinearLayout
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:paddingBottom="@dimen/banner_ad_height"
       android:orientation="vertical"&gt;
  
       &lt;ProgressBar
           android:id="@+id/progress_bar"
           android:layout_width="40dp"
           android:layout_height="40dp"/&gt;
  
       &lt;ImageView
           android:layout_width="match_parent"
           android:layout_height="wrap_content"
           android:adjustViewBounds="true"
           android:id="@+id/imageView_S0P1"
           android:contentDescription="@string/image_description"/&gt;
  
       &lt;ImageView
           android:layout_width="match_parent"
           android:layout_height="wrap_content"
           android:adjustViewBounds="true"
           android:id="@+id/imageView_S0P2"
           android:contentDescription="@string/image_description"/&gt;
  
       &lt;ImageView
           android:layout_width="match_parent"
           android:layout_height="wrap_content"
           android:adjustViewBounds="true"
           android:id="@+id/imageView_S0P3"
           android:contentDescription="@string/image_description"/&gt;
  
       &lt;ImageView
           android:layout_width="match_parent"
           android:layout_height="wrap_content"
           android:adjustViewBounds="true"
           android:id="@+id/imageView_S0P4"
           android:contentDescription="@string/image_description"/&gt;
  
       &lt;ImageView
           android:layout_width="match_parent"
           android:layout_height="wrap_content"
           android:adjustViewBounds="true"
           android:id="@+id/imageView_S0P5"
           android:contentDescription="@string/image_description"/&gt;
  
       &lt;ImageView
           android:layout_width="match_parent"
           android:layout_height="wrap_content"
           android:adjustViewBounds="true"
           android:id="@+id/imageView_S0P6"
           android:contentDescription="@string/image_description"/&gt;
  
       &lt;ImageView
           android:layout_width="match_parent"
           android:layout_height="wrap_content"
           android:adjustViewBounds="true"
           android:id="@+id/imageView_S0P7"
           android:contentDescription="@string/image_description"/&gt;
  
       &lt;ImageView
           android:layout_width="match_parent"
           android:layout_height="wrap_content"
           android:adjustViewBounds="true"
           android:id="@+id/imageView_S0P8"
           android:contentDescription="@string/image_description"/&gt;
  
       &lt;ImageView
           android:layout_width="match_parent"
           android:layout_height="wrap_content"
           android:adjustViewBounds="true"
           android:id="@+id/imageView_S0P9"
           android:contentDescription="@string/image_description"/&gt;
  
       &lt;ImageView
           android:layout_width="match_parent"
           android:layout_height="wrap_content"
           android:adjustViewBounds="true"
           android:id="@+id/imageView_S0P10"
           android:contentDescription="@string/image_description"/&gt;
  
       &lt;ImageView
           android:layout_width="match_parent"
           android:layout_height="wrap_content"
           android:adjustViewBounds="true"
           android:id="@+id/imageView_S0P11"
           android:contentDescription="@string/image_description"/&gt;
  
       &lt;ImageView
           android:layout_width="match_parent"
           android:layout_height="wrap_content"
           android:adjustViewBounds="true"
           android:id="@+id/imageView_S0P12"
           android:contentDescription="@string/image_description"/&gt;
  
       &lt;ImageView
           android:layout_width="match_parent"
           android:layout_height="wrap_content"
           android:adjustViewBounds="true"
           android:id="@+id/imageView_S0P13"
           android:contentDescription="@string/image_description"/&gt;
  
   &lt;/LinearLayout&gt;
  
  &lt;/ScrollView&gt;
  </code></pre>
  
  <p>Where do i put the ProgressBar and how?</p>
  
  <p>Thank you very much!!!</p>