android表格自动刷新,Android SwipeRefreshLayout 自动刷新
調用Android的SwipeRefreshLayout 的setRefreshing() 方法,本以為可以完成像知乎客戶端的自動刷新,可是并沒有,在網上找了一下問題的所在
Paste_Image.png
這里的mOriginalOffsetTop參數是在onMeasure方法中獲取的,在onMeasure沒有調用的時候mOriginalOffsetTop是沒有值得,所以按照這個思路去處理這個問題。既然onMeasure沒有執行,我們就保證讓onMeasure執行之后再去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;
}
}
}
這樣, 問題就解決了
XRecyclerView 與 SwipeRefreshLayout一起用會有坑, XRecyclerView自己實現了上下拉的監聽,把XRecyclerView做為SwipeRefreshLayout的子view,SwipeRefreshLayout就判斷不了下拉事件了,從這個問題上卡主好久。
提供一個CoordinatorLayout 的動畫,像釘釘上面的titleBar一樣的動畫
https://github.com/saulmm/CoordinatorBehaviorExample
總結
以上是生活随笔為你收集整理的android表格自动刷新,Android SwipeRefreshLayout 自动刷新的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 逆向链表c语言 abcdef,6-6 求
- 下一篇: 油电混合车一个月不开有影响吗?