android表格自动刷新,Android SwipeRefreshLayout 自动刷新
調(diào)用Android的SwipeRefreshLayout 的setRefreshing() 方法,本以為可以完成像知乎客戶端的自動(dòng)刷新,可是并沒(méi)有,在網(wǎng)上找了一下問(wèn)題的所在
Paste_Image.png
這里的mOriginalOffsetTop參數(shù)是在onMeasure方法中獲取的,在onMeasure沒(méi)有調(diào)用的時(shí)候mOriginalOffsetTop是沒(méi)有值得,所以按照這個(gè)思路去處理這個(gè)問(wèn)題。既然onMeasure沒(méi)有執(zhí)行,我們就保證讓onMeasure執(zhí)行之后再去setRefreshing()
所以代碼可以這樣寫
public class SwipeRefresh extends SwipeRefreshLayout
{
private boolean mMeasured = false;
private boolean mRefresh = false;
public SwipeRefresh(Context context)
{
super(context);
}
public SwipeRefresh(Context context, AttributeSet attrs)
{
super(context, attrs);
}
@Override
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec)
{
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
if (!mMeasured) {
mMeasured = true;
setRefreshing(mRefresh)
}
}
@Override
public void setRefreshing(boolean refreshing)
{
if (mMeasured) {
super.setRefreshing();
}
else{
mRefresh = refreshing;
}
}
}
這樣, 問(wèn)題就解決了
XRecyclerView 與 SwipeRefreshLayout一起用會(huì)有坑, XRecyclerView自己實(shí)現(xiàn)了上下拉的監(jiān)聽(tīng),把XRecyclerView做為SwipeRefreshLayout的子view,SwipeRefreshLayout就判斷不了下拉事件了,從這個(gè)問(wèn)題上卡主好久。
提供一個(gè)CoordinatorLayout 的動(dòng)畫,像釘釘上面的titleBar一樣的動(dòng)畫
https://github.com/saulmm/CoordinatorBehaviorExample
總結(jié)
以上是生活随笔為你收集整理的android表格自动刷新,Android SwipeRefreshLayout 自动刷新的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 逆向链表c语言 abcdef,6-6 求
- 下一篇: android sina oauth2.