Ich benutze ViewPager in meiner App, es enthält 7 Fragmente. Jedes Fragment enthält viele Bilder. Ich möchte den Lade-Spinner anzeigen, während das Fragment die Bilder mit Glide lädt (Die Bilder stammen nicht aus dem Internet! Das Herunterladen ist nicht nötig). Es dauert ungefähr eine halbe Sekunde, um die Bilder zu laden, und es scheint, dass es eine Verzögerung gibt. Also ich möchte wissen, wie die Spinner Progress Bar angezeigt wird.Wie mache ich Progress Bar Spinner während das Fragment seine Bilder lädt (mit Glide)?
MainActivity.java:
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 >= 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<Fragment> mFragmentList = new ArrayList<>();
private final List<String> mFragmentTitleList = new ArrayList<>();
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);
}
}
Fragment:
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;
}
}
Fragment.xml:
<?xml version="1.0" encoding="utf-8"?>
<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">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingBottom="@dimen/banner_ad_height"
android:orientation="vertical">
<ProgressBar
android:id="@+id/progress_bar"
android:layout_width="40dp"
android:layout_height="40dp"/>
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:id="@+id/imageView_S0P1"
android:contentDescription="@string/image_description"/>
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:id="@+id/imageView_S0P2"
android:contentDescription="@string/image_description"/>
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:id="@+id/imageView_S0P3"
android:contentDescription="@string/image_description"/>
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:id="@+id/imageView_S0P4"
android:contentDescription="@string/image_description"/>
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:id="@+id/imageView_S0P5"
android:contentDescription="@string/image_description"/>
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:id="@+id/imageView_S0P6"
android:contentDescription="@string/image_description"/>
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:id="@+id/imageView_S0P7"
android:contentDescription="@string/image_description"/>
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:id="@+id/imageView_S0P8"
android:contentDescription="@string/image_description"/>
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:id="@+id/imageView_S0P9"
android:contentDescription="@string/image_description"/>
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:id="@+id/imageView_S0P10"
android:contentDescription="@string/image_description"/>
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:id="@+id/imageView_S0P11"
android:contentDescription="@string/image_description"/>
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:id="@+id/imageView_S0P12"
android:contentDescription="@string/image_description"/>
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:id="@+id/imageView_S0P13"
android:contentDescription="@string/image_description"/>
</LinearLayout>
</ScrollView>
wo ich die ProgressBar setzen Sie und wie?
Vielen Dank !!!
http://stackoverflow.com/a/32883051/5148289 hier meine Antwort überprüfen .. habe ich verwendet 'picasso' aber es kann immer noch von' Glide' –