精品专区-精品自拍9-精品自拍三级乱伦-精品自拍视频-精品自拍视频曝光-精品自拍小视频

網(wǎng)站建設(shè)資訊

NEWS

網(wǎng)站建設(shè)資訊

AnimRefreshRecyclerViewDemo

AnimRefreshRecyclerViewDemo

下拉刷新和上拉加載更多的RecyclerView,具有下拉和刷新動畫。 效果:

創(chuàng)新互聯(lián)是一家專業(yè)提供清河企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、HTML5建站、小程序制作等業(yè)務(wù)。10年已為清河眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站設(shè)計(jì)公司優(yōu)惠進(jìn)行中。

嗯...看起來有點(diǎn)卡,截圖軟件的問題:

AnimRefreshRecyclerViewDemo

上圖中演示了三種不同的布局和下拉效果,三種布局和三種下拉效果可以通過Header的設(shè)置任意組合。

圖中普通列表是ListView樣式,沒有設(shè)置Header和Footer,使用默認(rèn)的下拉刷新和上拉加載。

宮格列表使用的是自定義Header和Footer的下拉刷新和上拉上拉加載,并設(shè)置了下拉使放大的圖片。

瀑布流列表使用的是自定義Header和Footer的下拉刷新和上拉上拉加載,沒有設(shè)置了下拉使放大的圖片,使用默認(rèn)的刷新動畫。

用法:

Gradle:

dependencies {
    compile 'com.sch.rfview:AnimRefreshRecyclerView:1.0.1'
}

Eclipse的同學(xué)們可以自己下載源碼拷貝java文件到自己的工程(別忘了引用RecyclerView的包哦)。

代碼中的配置參考下面的用法代碼片段,除了RecyclerView自帶的方法,其他方法都是可選的。

項(xiàng)目地址:http://itlanbao.com/preview.aspx#1,0

項(xiàng)目中包含一個(gè)demo(普通Android工程)和Android Library,感興趣的同學(xué)可以自己下載源碼和Demo。

用法代碼片段:

  • 根據(jù)列表的不同效果選擇不同的布局管理器:

// 使用重寫后的線性布局管理器mRecyclerView.setLayoutManager(new AnimRFLinearLayoutManager(this));// 使用重寫后的格子布局管理器mRecyclerView.setLayoutManager(new AnimRFGridLayoutManager(this, 2));// 使用重寫后的瀑布流布局管理器mRecyclerView.setLayoutManager(new AnimRFStaggeredGridLayoutManager(3, StaggeredGridLayoutManager.VERTICAL));
  • 設(shè)置Header和Footer:

// 頭部headerView = LayoutInflater.from(this).inflate(R.layout.header_view, null);// 腳部footerView = LayoutInflater.from(this).inflate(R.layout.footer_view, null);// 添加頭部和腳部,如果不添加就使用默認(rèn)的頭部和腳部(頭部可以有多個(gè))mRecyclerView.addHeaderView(headerView);// 設(shè)置頭部的最大拉伸倍率,默認(rèn)1.5f,必須寫在setHeaderImage()之前mRecyclerView.setScaleRatio(2.0f);// 設(shè)置下拉時(shí)拉伸的圖片,不設(shè)置就使用默認(rèn)的mRecyclerView.setHeaderImage((ImageView) headerView.findViewById(R.id.iv_hander));
mRecyclerView.addFootView(footerView);

可以通過addHeaderView()setHeaderImage()方法任意組合下拉效果,可以調(diào)用多次addHeaderView()方法添加多個(gè)頭部,但是setHeaderImage()方法最多被調(diào)用一次。

最多調(diào)用一次addFootView()方法,即最多設(shè)置一個(gè)FooterView。

  • 其他設(shè)置:

// 設(shè)置刷新動畫的顏色(可選)mRecyclerView.setColor(Color.RED, Color.WHITE);// 設(shè)置頭部恢復(fù)動畫的執(zhí)行時(shí)間,默認(rèn)1000毫秒(可選)mRecyclerView.setHeaderImageDurationMillis(1200);// 設(shè)置拉伸到最高時(shí)頭部的透明度,默認(rèn)0.5f(可選)mRecyclerView.setHeaderImageMinAlpha(0.6f);// 設(shè)置適配器mRecyclerView.setAdapter(new MyAdapter());// 設(shè)置刷新和加載更多數(shù)據(jù)的監(jiān)聽,分別在onRefresh()和onLoadMore()方法中執(zhí)行刷新和加載更多操作mRecyclerView.setLoadDataListener(new AnimRFRecyclerView.LoadDataListener() {    @Override
    public void onRefresh() {        // 開啟線程刷新數(shù)據(jù)
        new Thread(new MyRunnable()).start();
    }    @Override
    public void onLoadMore() {        // 開啟線加載更多數(shù)據(jù)
        new Thread(new MyRunnable()).start();
    }
});
  • 在刷新和加載過更多完成之后調(diào)用代碼停止動畫:

// 刷新完成后調(diào)用,必須在UI線程中mRecyclerView.refreshComplate();// 加載更多完成后調(diào)用,必須在UI線程中mRecyclerView.loadMoreComplate();

Tips:

1.若在使用過程中發(fā)現(xiàn)adapter.notifyDataSetChange()等更新數(shù)據(jù)的方法無效,可使用recyclerView.getAdapter()獲取當(dāng)前使用的Adapter,并使用獲取到到Adapter更新數(shù)據(jù)。

2.解決Android 5.0兼容問題: Gradle依賴包的版本沒有更新,要適配的話請自行修改代碼,將AnimView.java中的setVisibility(int visibility)這個(gè)方法改成如下:

@Override
public void setVisibility(int visibility) {
    isShow = visibility == VISIBLE;
    if (isShow) {
        super.setVisibility(VISIBLE);
    }
    postInvalidate();
}

信息來源www.itlanbao.com


當(dāng)前標(biāo)題:AnimRefreshRecyclerViewDemo
文章網(wǎng)址:http://m.jcarcd.cn/article/iecieg.html
主站蜘蛛池模板: 国产ai精品| 国产偷国| 三级综合精品乱伦 | 韩国大片| 国产欧美视频在线 | 中文字幕无线精品 | 国产激情影视在线 | 欧美日韩资源 | 午夜免费福 | 国产亚洲一区 | 福利片子91| 欧美日韩动漫亚洲 | 精品97视频 | 精品亚洲一 | 日本免费一级视频 | 日韩高清在线亚洲 | 日本亚洲综合在线 | 国精品吹潮 | 制服丝袜怡红院 | 日韩精品中文字幕 | 欧美日韩国产高 | 国产亚洲精品精华液 | 午夜dj影视| 国产网站1区2区 | 日韩熟女激情中 | 91新福利在线观看 | 激情五月天色五月 | 成人公开在线导航网 | 中文字幕影院 | 国产高清激情视频 | 日韩一级簧片 | 日韩精品中文 | 午夜看片在线观 | 日本三级免费 | 国产中文字幕免费 | 日本女优| 国产福利观看 | 欧美午夜在线视频 | 国产五月天在线观 | 日韩新片王网 | 韩日一区二区三区 |