package com.sampleapp.utils; import android.app.Activity; import android.content.Context; import android.support.v4.content.ContextCompat; import android.view.Gravity; import android.view.View; import android.view.ViewGroup; import android.widget.ProgressBar; import android.widget.RelativeLayout; import com.sampleapp.R; public class ProgressBarHandler { private ProgressBar mProgressBar; public ProgressBarHandler(Context context) { ViewGroup layout = (ViewGroup) ((Activity) context).findViewById(android.R.id.content).getRootView(); mProgressBar = new ProgressBar(context, null); mProgressBar.setIndeterminate(true); mProgressBar.getIndeterminateDrawable().setColorFilter(ContextCompat.getColor(context, R.color.colorPrimary), android.graphics.PorterDuff.Mode.MULTIPLY); RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.MATCH_PARENT); RelativeLayout rl = new RelativeLayout(context); rl.setGravity(Gravity.CENTER); rl.addView(mProgressBar); layout.addView(rl, params); hideProgress(); } public void showProgress() { mProgressBar.setVisibility(View.VISIBLE); } public void hideProgress() { mProgressBar.setVisibility(View.INVISIBLE); } }