2015-10-01 1 views
1

пожалуйста построить мой код, я хочу загрузочное изображение, а результат не готов ..добавить загрузки до результата показывает, я использую скольжение для моего вывода изображения

я использую скольжение для этого кода ..

imageView = (ImageView) rootView.findViewById(R.id.imageView); 
Glide.with(getActivity()).load("http://joehamirbalabadan.com/android/android/imghome/index1.png").diskCacheStrategy(DiskCacheStrategy.ALL).placeholder(R.drawable.indexloading).into(imageView); 

imageView3 = (ImageView) rootView.findViewById(R.id.imageView3); 
Glide.with(getActivity()).load("http://joehamirbalabadan.com/android/android/imghome/index3.png").diskCacheStrategy(DiskCacheStrategy.ALL).placeholder(R.drawable.indexloading).into(imageView3); 

как вы можете видеть в моем коде, я использую индексную загрузку заполнителя.

но gif загрузка изображения не работает в placeholder.

пожалуйста, дайте мне пример кода, который solb мою проблему ..

также код, который работает в фрагменте ..

здесь полный код ..

HomeFragment.java

package com.example.administrator.mosbeau; 


import android.app.Activity; 
import android.app.Fragment; 
import android.app.FragmentManager; 
import android.os.Bundle; 
import android.support.annotation.Nullable; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.ImageView; 
import android.widget.ProgressBar; 

import com.bumptech.glide.Glide; 
import com.bumptech.glide.load.engine.DiskCacheStrategy; 


/** 
* Created by Administrator on 9/7/2015. 
*/ 
public class HomeFragment extends Fragment { 

    public static HomeFragment newInstance() { 
     HomeFragment fragment = new HomeFragment(); 
     return fragment; 
    } 

    public HomeFragment() { 
    } 

    Boolean InternetAvailable = false; 
    Seocnd detectconnection; 

    ImageView imageView, imageView3; 
    ProgressBar progressBar; 

    @Nullable 
    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     View rootView = inflater.inflate(R.layout.homelayout, container, false); 

     detectconnection = new Seocnd(getActivity()); 
     InternetAvailable = detectconnection.InternetConnecting(); 
     if (InternetAvailable) { 

      imageView = (ImageView) rootView.findViewById(R.id.imageView); 
      Glide.with(getActivity()).load("http://joehamirbalabadan.com/android/android/imghome/index1.png").diskCacheStrategy(DiskCacheStrategy.ALL).placeholder(R.drawable.indexloading).into(imageView); 

      imageView3 = (ImageView) rootView.findViewById(R.id.imageView3); 
      Glide.with(getActivity()).load("http://joehamirbalabadan.com/android/android/imghome/index3.png").diskCacheStrategy(DiskCacheStrategy.ALL).placeholder(R.drawable.indexloading).into(imageView3); 


     } else { 
      NointernetFragment fragment = new NointernetFragment(); 
      FragmentManager fragmentManager = getFragmentManager(); 
      fragmentManager.beginTransaction() 
        .replace(R.id.container, fragment) 
        .commit(); 
     } 

     return rootView; 
    } 

    @Override 
    public void onAttach(Activity activity) { 
     super.onAttach(activity); 
     ((MainActivity) activity).onSectionAttached(1); 
    } 

} 
+0

Я думаю, проблема связана с файлом gif, попробуйте использовать изображение для placeholder, см. Это работает или нет. – Pirisok

+0

не проблема с заполнителем .. он работает, но то, что я хочу, является загрузочным изображением .. Я знаю, что невозможно добавить gif-изображение в placeholder, но я не могу найти хороший код, который работает для моего кода. я хочу загрузку до результата изображения. – Joe

ответ

2

У меня была такая же проблема. Я решил это, используя библиотеку picasso. найдите ссылку для скачивания here

, а затем попробуйте это.

ProgressBar spinner = (ProgressBar) findViewById(R.id.loading); 
spinner.setVisibility(View.VISIBLE); 

Picasso.with(getApplicationContext()) 
     .load((your URL) 
      .into(imageView, new Callback() { 
        @Override 
        public void onSuccess() { 
         spinner.setVisibility(View.GONE); 
        } 

        @Override 
        public void onError() { 
         spinner.setVisibility(View.GONE); 
         imageView 
           .setBackgroundResource(R.drawable.small_logo); 
        } 
       }); 

Здесь я обернуть ImageView и ProgressBar (кок в коде выше) в RelativeLayout.

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:padding="1dip" > 

<ImageView 
    android:id="@+id/imageView" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:layout_gravity="center" 
    android:adjustViewBounds="true" 
    android:scaleType="fitXY" /> 

<ProgressBar 
    android:id="@+id/loading" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center" 
    android:visibility="gone" /></FrameLayout> 

надеюсь, что это вам поможет.

+0

Откуда появился счетчик? в этой части вашего кода. spinner.setVisibility (View.VISIBLE); а также какой обратный вызов мне нужно импортировать? – Joe

+0

spinner - это ваш 'ProgressBar' из этого XML-файла. извините Забыл изменить его. –

+0

новый Callback() показывает много классов для импорта. какой класс мне нужно импортировать? – Joe