小追兵專欄
記得在15年年初阱缓,大部分Android開發(fā)者還沒開始接觸Recyclerview的時候,我嘗試著使用了下金抡,當時關于他的資料網(wǎng)上不多瀑焦,用著真心難受,雖然他很強大梗肝,很靈活榛瓮,可是對于用習慣了Listview的我來說,用著很不習慣巫击。不知道各位開始使用感受如何禀晓。
今天給大家介紹兩個開源庫,讓使用Recyclerview方便到一塌糊涂坝锰。
- 通用的Adapter適配器(BaseRecyclerViewAdapterHelper):Github地址
特點:
- 添加Header和Footer的方法粹懒。
- 添加了Item的點擊監(jiān)聽。
- 添加了上拉加載更多顷级。
- 兼容實現(xiàn)google的下來刷新崎淳。
- 實現(xiàn)了不同的滑動動畫。
- 更重要的是他是通用萬能的Adapter。
- 等等拣凹。森爽。。嚣镜。請到github看文檔爬迟。
- RecyclerView的分割線(RecyclerView-FlexibleDivider):Github地址
特點:
- 控制方便,例如設置margin菊匿,線寬付呕,顏色等等。
- 效率高跌捆,滑動流暢徽职。
- 線條樣式多。
一佩厚、先看“BaseRecyclerViewAdapterHelper”
BaseRecyclerViewAdapterHelper
BaseRecyclerViewAdapterHelper
BaseRecyclerViewAdapterHelper
以上三張圖片來自BaseRecyclerViewAdapterHelper.
使用代碼如下:
public class QuickAdapter extends BaseQuickAdapter<Status> {
public QuickAdapter() {
super(R.layout.tweet, DataServer.getSampleData());
}
@Override
protected void convert(BaseViewHolder helper, Status item) {
helper.setText(R.id.tweetName, item.getUserName())
.setText(R.id.tweetText, item.getText())
.setText(R.id.tweetDate, item.getCreatedAt())
.setVisible(R.id.tweetRT, item.isRetweet())
.linkify(R.id.tweetText);
Glide.with(mContext).load(item.getUserAvatar()).crossFade().into((ImageView) helper.getView(R.id.iv));
}
}
更多使用請看github的使用文檔姆钉。我這里不貼了。
二抄瓦、再看“RecyclerView-FlexibleDivider”
RecyclerView-FlexibleDivider
RecyclerView-FlexibleDivider
以上兩張圖片來自RecyclerView-FlexibleDivider潮瓶;
我項目有個頁面發(fā)現(xiàn)滑動卡頓,性能很差钙姊,最后找到原因是自定義分割線的問題毯辅,果斷換用該庫,解決了卡頓現(xiàn)象煞额。
貼出部分代碼思恐,詳情見github文檔。
RecyclerView recyclerView = (RecyclerView) findViewById(R.id.recyclerview);
recyclerView.addItemDecoration(
new HorizontalDividerItemDecoration.Builder(this)
.color(Color.RED)
.sizeResId(R.dimen.divider)
.marginResId(R.dimen.leftmargin, R.dimen.rightmargin)
.build());
以上代碼是貼的膊毁,只是讓大家有個大概的認識胀莹,具體請點開鏈接,有Demo和文檔媚媒,方便學習和使用。
最后:有需要Shadowsock翻墻賬號可以私聊涩僻。