開發者使用BGARefreshLayout-Android能夠對各類控件實現多種下拉刷新效果、上拉加載更多以及配置自定義頭部廣告位
目前已經實現了三種下拉刷新效果:html
新浪微博下拉刷新風格(可設置背景、各類狀態是的文本),
慕課網下拉刷新風格(使用時可設置其中的logo和顏色成本身公司的風格) ,
相似qq好友列表黏性下拉刷新風格(三階貝塞爾曲線沒怎麼調好,剛開始下拉時效果不太好)android
一種上拉加載更多效果:
新浪微博上拉加載更多(可設置背景、狀態文本)app
開發者也能夠繼承BGARefreshViewHolder這個抽象類,實現相應地抽象方法作出格式
各樣的下拉刷新效果【例如實現handleScale(float scale, int moveYDistance)方法,
根據scale實現各類下拉刷新動畫】和上拉加載更多特效,可參考BGAMoocStyleRefreshViewHolder、
BGANormalRefreshViewHolder、BGAStickinessRefreshViewHolder的實現方式。ide
完整源碼下載地址:http://www.itlanbao.com/code/20150907/10000/100509.html動畫
package cn.bingoogolapple.refreshlayout.demo;ui
import android.app.Application;this
import android.content.Context;spa
import android.graphics.Bitmap;code
import com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator;orm
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
import com.nostra13.universalimageloader.core.assist.QueueProcessingType;
public class App extends Application {
private static App sInstance;
@Override
public void onCreate() {
super.onCreate();
sInstance = this;
initImageLoader(this);
}
public static App getInstance() {
return sInstance;
}
private void initImageLoader(Context context) {
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(context)
.threadPriority(Thread.NORM_PRIORITY - 2)
.diskCacheFileNameGenerator(new Md5FileNameGenerator())
.tasksProcessingOrder(QueueProcessingType.LIFO)
.defaultDisplayImageOptions(getImgOptions())
.build();
ImageLoader.getInstance().init(config);
}
private static DisplayImageOptions getImgOptions() {
DisplayImageOptions imgOptions = new DisplayImageOptions.Builder()
.cacheOnDisk(true)
.cacheInMemory(true)
.bitmapConfig(Bitmap.Config.RGB_565)
// .showImageOnLoading(R.mipmap.holder)
// .showImageForEmptyUri(R.mipmap.holder)
// .showImageOnFail(R.mipmap.holder)
.build();
return imgOptions;
}
}