Search in sources :

Example 1 with OnRefreshListener

use of android.support.v4.widget.SwipeRefreshLayout.OnRefreshListener in project CollapsingRefresh by ckrgithub.

the class SmartRefreshLayout method onAttachedToWindow.

@Override
protected void onAttachedToWindow() {
    super.onAttachedToWindow();
    Logd(TAG, "onFinish,onAttachedToWindow: ");
    if (isInEditMode())
        return;
    if (mRefreshContent == null && mRefreshHeader == null && mRefreshFooter == null) {
        onFinishInflate();
    }
    if (mKernel == null) {
        mKernel = new RefreshKernelImpl();
    }
    if (mRefreshContent == null) {
        for (int i = 0, len = getChildCount(); i < len; i++) {
            View view = getChildAt(i);
            if ((mRefreshHeader == null || view != mRefreshHeader.getView()) && (mRefreshFooter == null || view != mRefreshFooter.getView())) {
                mRefreshContent = new RefreshContentWrapper(view);
            }
        }
        if (mRefreshContent == null) {
            mRefreshContent = new RefreshContentWrapper(getContext());
            mRefreshContent.getView().setLayoutParams(new LayoutParams(MATCH_PARENT, MATCH_PARENT));
        }
    }
    if (mFixedHeaderViewId > 0 && mFixedHeaderView == null) {
        mFixedHeaderView = findViewById(mFixedHeaderViewId);
    }
    if (mFixedFooterViewId > 0 && mFixedFooterView == null) {
        mFixedFooterView = findViewById(mFixedFooterViewId);
    }
    mRefreshContent.setupComponent(mKernel, mFixedHeaderView, mFixedFooterView);
    if (mRefreshHeader == null) {
        if (mEnablePureScrollMode) {
        // 注释此效果       ckr  by 2017.8.15
        // mRefreshHeader = new FalsifyHeader(getContext());
        } else {
            mRefreshHeader = sHeaderCreater.createRefreshHeader(getContext(), this);
        }
        if (!(mRefreshHeader.getView().getLayoutParams() instanceof MarginLayoutParams)) {
            if (mRefreshHeader.getSpinnerStyle() == SpinnerStyle.Scale) {
                addView(mRefreshHeader.getView(), MATCH_PARENT, MATCH_PARENT);
            } else {
                addView(mRefreshHeader.getView(), MATCH_PARENT, WRAP_CONTENT);
            }
        }
    }
    if (mRefreshFooter == null) {
        if (mEnablePureScrollMode) {
        // 注释此效果       ckr  by 2017.8.15
        // mRefreshFooter = new RefreshFooterWrapper(new FalsifyHeader(getContext()));
        // mEnableLoadmore = mEnableLoadmore || !mManualLoadmore;
        } else {
            mRefreshFooter = sFooterCreater.createRefreshFooter(getContext(), this);
            mEnableLoadmore = mEnableLoadmore || (!mManualLoadmore && sManualFooterCreater);
        }
        if (!(mRefreshFooter.getView().getLayoutParams() instanceof MarginLayoutParams)) {
            if (mRefreshFooter.getSpinnerStyle() == SpinnerStyle.Scale) {
                addView(mRefreshFooter.getView(), MATCH_PARENT, MATCH_PARENT);
            } else {
                addView(mRefreshFooter.getView(), MATCH_PARENT, WRAP_CONTENT);
            }
        }
    }
    // 重新排序
    bringChildToFront(mRefreshContent.getView());
    // TODO: 2017/10/8 头部、内容、底部排序
    if (mRefreshHeader.getSpinnerStyle() != SpinnerStyle.FixedBehind) {
        if (isHeaderFixBehind) {
        } else {
            bringChildToFront(mRefreshHeader.getView());
        }
    }
    if (mRefreshFooter.getSpinnerStyle() != SpinnerStyle.FixedBehind) {
        bringChildToFront(mRefreshFooter.getView());
    }
    if (mRefreshListener == null) {
        mRefreshListener = new OnRefreshListener() {

            @Override
            public void onRefresh(RefreshLayout refreshlayout) {
                refreshlayout.finishRefresh(3000);
            }
        };
    }
    if (mLoadmoreListener == null) {
        mLoadmoreListener = new OnLoadmoreListener() {

            @Override
            public void onLoadmore(RefreshLayout refreshlayout) {
                refreshlayout.finishLoadmore(2000);
            }
        };
    }
    if (mPrimaryColors != null) {
        mRefreshHeader.setPrimaryColors(mPrimaryColors);
        mRefreshFooter.setPrimaryColors(mPrimaryColors);
    }
    try {
        if (!mManualNestedScrolling && !isNestedScrollingEnabled() && getLayoutParams() instanceof CoordinatorLayout.LayoutParams) {
            setNestedScrollingEnabled(true);
        }
    } catch (Throwable e) {
    // try 不能删除
    }
}
Also used : ScrollingView(android.support.v4.view.ScrollingView) View(android.view.View) WebView(android.webkit.WebView) AbsListView(android.widget.AbsListView) ScrollView(android.widget.ScrollView) OnLoadmoreListener(com.scwang.smartrefresh.listener.OnLoadmoreListener) Paint(android.graphics.Paint) CoordinatorLayout(android.support.design.widget.CoordinatorLayout) RefreshLayout(com.scwang.smartrefresh.api.RefreshLayout) RefreshContentWrapper(com.scwang.smartrefresh.impl.RefreshContentWrapper) OnRefreshListener(com.scwang.smartrefresh.listener.OnRefreshListener)

Example 2 with OnRefreshListener

use of android.support.v4.widget.SwipeRefreshLayout.OnRefreshListener in project vlayout by alibaba.

the class VLayoutActivity method onCreate.

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main_activity);
    mSwipeRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.swipe_container);
    ;
    mFirstText = (TextView) findViewById(R.id.first);
    mLastText = (TextView) findViewById(R.id.last);
    mCountText = (TextView) findViewById(R.id.count);
    mTotalOffsetText = (TextView) findViewById(R.id.total_offset);
    final RecyclerView recyclerView = (RecyclerView) findViewById(R.id.main_view);
    final VirtualLayoutManager layoutManager = new VirtualLayoutManager(this);
    layoutManager.setPerformanceMonitor(new PerformanceMonitor() {

        long start;

        long end;

        @Override
        public void recordStart(String phase, View view) {
            start = System.currentTimeMillis();
        }

        @Override
        public void recordEnd(String phase, View view) {
            end = System.currentTimeMillis();
            Log.d("VLayoutActivity", view.getClass().getName() + " " + (end - start));
        }
    });
    recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {

        @Override
        public void onScrollStateChanged(RecyclerView recyclerView, int scrollState) {
        }

        @Override
        public void onScrolled(RecyclerView recyclerView, int i, int i2) {
            mFirstText.setText("First: " + layoutManager.findFirstVisibleItemPosition());
            mLastText.setText("Existing: " + MainViewHolder.existing + " Created: " + MainViewHolder.createdTimes);
            mCountText.setText("Count: " + recyclerView.getChildCount());
            mTotalOffsetText.setText("Total Offset: " + layoutManager.getOffsetToStart());
        }
    });
    recyclerView.setLayoutManager(layoutManager);
    // layoutManager.setReverseLayout(true);
    RecyclerView.ItemDecoration itemDecoration = new RecyclerView.ItemDecoration() {

        public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
            int position = ((LayoutParams) view.getLayoutParams()).getViewPosition();
            outRect.set(4, 4, 4, 4);
        }
    };
    final RecyclerView.RecycledViewPool viewPool = new RecyclerView.RecycledViewPool();
    recyclerView.setRecycledViewPool(viewPool);
    // recyclerView.addItemDecoration(itemDecoration);
    viewPool.setMaxRecycledViews(0, 20);
    layoutManager.setRecycleOffset(300);
    // viewLifeCycleListener should be used with setRecycleOffset()
    layoutManager.setViewLifeCycleListener(new ViewLifeCycleListener() {

        @Override
        public void onAppearing(View view) {
        // Log.e("ViewLifeCycleTest", "onAppearing: " + view);
        }

        @Override
        public void onDisappearing(View view) {
        // Log.e("ViewLifeCycleTest", "onDisappearing: " + view);
        }

        @Override
        public void onAppeared(View view) {
        // Log.e("ViewLifeCycleTest", "onAppeared: " + view);
        }

        @Override
        public void onDisappeared(View view) {
        // Log.e("ViewLifeCycleTest", "onDisappeared: " + view);
        }
    });
    layoutManager.setLayoutManagerCanScrollListener(new LayoutManagerCanScrollListener() {

        @Override
        public boolean canScrollVertically() {
            Log.i("vlayout", "canScrollVertically: ");
            return true;
        }

        @Override
        public boolean canScrollHorizontally() {
            Log.i("vlayout", "canScrollHorizontally: ");
            return true;
        }
    });
    final DelegateAdapter delegateAdapter = new DelegateAdapter(layoutManager, true);
    recyclerView.setAdapter(delegateAdapter);
    final List<DelegateAdapter.Adapter> adapters = new LinkedList<>();
    if (BANNER_LAYOUT) {
        adapters.add(new SubAdapter(this, new LinearLayoutHelper(), 1) {

            @Override
            public void onViewRecycled(MainViewHolder holder) {
                if (holder.itemView instanceof ViewPager) {
                    ((ViewPager) holder.itemView).setAdapter(null);
                }
            }

            @Override
            public MainViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
                if (viewType == 1)
                    return new MainViewHolder(LayoutInflater.from(VLayoutActivity.this).inflate(R.layout.view_pager, parent, false));
                return super.onCreateViewHolder(parent, viewType);
            }

            @Override
            public int getItemViewType(int position) {
                return 1;
            }

            @Override
            protected void onBindViewHolderWithOffset(MainViewHolder holder, int position, int offsetTotal) {
            }

            @Override
            public void onBindViewHolder(MainViewHolder holder, int position) {
                if (holder.itemView instanceof ViewPager) {
                    ViewPager viewPager = (ViewPager) holder.itemView;
                    viewPager.setLayoutParams(new LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, 200));
                    // from position to get adapter
                    viewPager.setAdapter(new PagerAdapter(this, viewPool));
                }
            }
        });
    }
    if (FLOAT_LAYOUT) {
        FloatLayoutHelper layoutHelper = new FloatLayoutHelper();
        layoutHelper.setAlignType(FixLayoutHelper.BOTTOM_RIGHT);
        layoutHelper.setDefaultLocation(100, 400);
        LayoutParams layoutParams = new LayoutParams(150, 150);
        adapters.add(new SubAdapter(this, layoutHelper, 1, layoutParams));
    }
    if (LINEAR_LAYOUT) {
        LinearLayoutHelper layoutHelper1 = new LinearLayoutHelper();
        layoutHelper1.setBgColor(Color.YELLOW);
        layoutHelper1.setAspectRatio(2.0f);
        layoutHelper1.setMargin(10, 10, 10, 10);
        layoutHelper1.setPadding(10, 10, 10, 10);
        LinearLayoutHelper layoutHelper2 = new LinearLayoutHelper();
        layoutHelper2.setAspectRatio(4.0f);
        layoutHelper2.setDividerHeight(10);
        layoutHelper2.setMargin(10, 0, 10, 10);
        layoutHelper2.setPadding(10, 0, 10, 10);
        layoutHelper2.setBgColor(0xFFF5A623);
        final Handler mainHandler = new Handler(Looper.getMainLooper());
        adapters.add(new SubAdapter(this, layoutHelper1, 1) {

            @Override
            public void onBindViewHolder(final MainViewHolder holder, int position) {
                super.onBindViewHolder(holder, position);
                final SubAdapter subAdapter = this;
            // mainHandler.postDelayed(new Runnable() {
            // @Override
            // public void run() {
            // //delegateAdapter.removeAdapter(subAdapter);
            // //notifyItemRemoved(1);
            // holder.itemView.setVisibility(View.GONE);
            // notifyItemChanged(1);
            // layoutManager.runAdjustLayout();
            // }
            // }, 2000L);
            }
        });
        adapters.add(new SubAdapter(this, layoutHelper2, 6) {

            @Override
            public void onBindViewHolder(MainViewHolder holder, int position) {
                if (position % 2 == 0) {
                    LayoutParams layoutParams = new LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, 300);
                    layoutParams.mAspectRatio = 5;
                    holder.itemView.setLayoutParams(layoutParams);
                }
            }
        });
    }
    // {
    // RangeGridLayoutHelper layoutHelper = new RangeGridLayoutHelper(4);
    // layoutHelper.setBgColor(Color.GREEN);
    // layoutHelper.setWeights(new float[]{20f, 26.665f});
    // layoutHelper.setPadding(15, 15, 15, 15);
    // layoutHelper.setMargin(15, 50, 15, 150);
    // layoutHelper.setHGap(10);
    // layoutHelper.setVGap(10);
    // GridRangeStyle rangeStyle = new GridRangeStyle();
    // rangeStyle.setBgColor(Color.RED);
    // rangeStyle.setSpanCount(2);
    // rangeStyle.setWeights(new float[]{46.665f});
    // rangeStyle.setPadding(15, 15, 15, 15);
    // rangeStyle.setMargin(15, 15, 15, 15);
    // rangeStyle.setHGap(5);
    // rangeStyle.setVGap(5);
    // layoutHelper.addRangeStyle(0, 7, rangeStyle);
    // 
    // GridRangeStyle rangeStyle1 = new GridRangeStyle();
    // rangeStyle1.setBgColor(Color.YELLOW);
    // rangeStyle1.setSpanCount(2);
    // rangeStyle1.setWeights(new float[]{46.665f});
    // rangeStyle1.setPadding(15, 15, 15, 15);
    // rangeStyle1.setMargin(15, 15, 15, 15);
    // rangeStyle1.setHGap(5);
    // rangeStyle1.setVGap(5);
    // layoutHelper.addRangeStyle(8, 15, rangeStyle1);
    // 
    // GridRangeStyle rangeStyle2 = new GridRangeStyle();
    // rangeStyle2.setBgColor(Color.CYAN);
    // rangeStyle2.setSpanCount(2);
    // rangeStyle2.setWeights(new float[]{46.665f});
    // rangeStyle2.setPadding(15, 15, 15, 15);
    // rangeStyle2.setMargin(15, 15, 15, 15);
    // rangeStyle2.setHGap(5);
    // rangeStyle2.setVGap(5);
    // layoutHelper.addRangeStyle(16, 22, rangeStyle2);
    // GridRangeStyle rangeStyle3 = new GridRangeStyle();
    // rangeStyle3.setBgColor(Color.DKGRAY);
    // rangeStyle3.setSpanCount(1);
    // rangeStyle3.setWeights(new float[]{46.665f});
    // rangeStyle3.setPadding(15, 15, 15, 15);
    // rangeStyle3.setMargin(15, 15, 15, 15);
    // rangeStyle3.setHGap(5);
    // rangeStyle3.setVGap(5);
    // rangeStyle2.addChildRangeStyle(0, 2, rangeStyle3);
    // GridRangeStyle rangeStyle4 = new GridRangeStyle();
    // rangeStyle4.setBgColor(Color.BLUE);
    // rangeStyle4.setSpanCount(2);
    // rangeStyle4.setWeights(new float[]{46.665f});
    // rangeStyle4.setPadding(15, 15, 15, 15);
    // rangeStyle4.setMargin(15, 15, 15, 15);
    // rangeStyle4.setHGap(5);
    // rangeStyle4.setVGap(5);
    // rangeStyle2.addChildRangeStyle(3, 6, rangeStyle4);
    // 
    // GridRangeStyle rangeStyle5 = new GridRangeStyle();
    // rangeStyle5.setBgColor(Color.RED);
    // rangeStyle5.setSpanCount(2);
    // rangeStyle5.setPadding(15, 15, 15, 15);
    // rangeStyle5.setMargin(15, 15, 15, 15);
    // rangeStyle5.setHGap(5);
    // rangeStyle5.setVGap(5);
    // layoutHelper.addRangeStyle(23, 30, rangeStyle5);
    // GridRangeStyle rangeStyle6 = new GridRangeStyle();
    // rangeStyle6.setBgColor(Color.MAGENTA);
    // rangeStyle6.setSpanCount(2);
    // rangeStyle6.setPadding(15, 15, 15, 15);
    // rangeStyle6.setMargin(15, 15, 15, 15);
    // rangeStyle6.setHGap(5);
    // rangeStyle6.setVGap(5);
    // rangeStyle5.addChildRangeStyle(0, 7, rangeStyle6);
    // 
    // adapters.add(new SubAdapter(this, layoutHelper, 23));
    // }
    {
        SingleLayoutHelper layoutHelper = new SingleLayoutHelper();
        layoutHelper.setBgColor(Color.BLUE);
        layoutHelper.setMargin(0, 30, 0, 200);
        adapters.add(new SubAdapter(this, layoutHelper, 1, new LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, 100)));
    }
    if (STICKY_LAYOUT) {
        StickyLayoutHelper layoutHelper = new StickyLayoutHelper();
        // layoutHelper.setOffset(100);
        layoutHelper.setAspectRatio(4);
        adapters.add(new SubAdapter(this, layoutHelper, 1, new LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, 100)));
    }
    // {
    // final StaggeredGridLayoutHelper helper = new StaggeredGridLayoutHelper(3, 10);
    // helper.setBgColor(0xFF86345A);
    // adapters.add(new SubAdapter(this, helper, 4) {
    // 
    // @Override
    // public void onBindViewHolder(MainViewHolder holder, int position) {
    // super.onBindViewHolder(holder, position);
    // LayoutParams layoutParams = new LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, 300);
    // if (position % 2 == 0) {
    // layoutParams.mAspectRatio = 1.0f;
    // } else {
    // layoutParams.height = 340 + position % 7 * 20;
    // }
    // holder.itemView.setLayoutParams(layoutParams);
    // }
    // });
    // }
    {
        final GridLayoutHelper helper = new GridLayoutHelper(3, 4);
        helper.setBgColor(0xFF86345A);
        adapters.add(new SubAdapter(this, helper, 4) {

            @Override
            public void onBindViewHolder(MainViewHolder holder, int position) {
                super.onBindViewHolder(holder, position);
                LayoutParams layoutParams = new LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, 300);
                holder.itemView.setLayoutParams(layoutParams);
            }
        });
    }
    {
        RangeGridLayoutHelper layoutHelper = new RangeGridLayoutHelper(4);
        layoutHelper.setBgColor(Color.GREEN);
        layoutHelper.setWeights(new float[] { 20f, 26.665f });
        layoutHelper.setPadding(15, 15, 15, 15);
        layoutHelper.setMargin(15, 15, 15, 15);
        layoutHelper.setHGap(10);
        layoutHelper.setVGap(10);
        GridRangeStyle rangeStyle = new GridRangeStyle();
        rangeStyle.setBgColor(Color.RED);
        rangeStyle.setSpanCount(2);
        rangeStyle.setWeights(new float[] { 46.665f });
        rangeStyle.setPadding(15, 15, 15, 15);
        rangeStyle.setMargin(15, 15, 15, 15);
        rangeStyle.setHGap(5);
        rangeStyle.setVGap(5);
        layoutHelper.addRangeStyle(4, 7, rangeStyle);
        GridRangeStyle rangeStyle1 = new GridRangeStyle();
        rangeStyle1.setBgColor(Color.YELLOW);
        rangeStyle1.setSpanCount(2);
        rangeStyle1.setWeights(new float[] { 46.665f });
        rangeStyle1.setPadding(15, 15, 15, 15);
        rangeStyle1.setMargin(15, 15, 15, 15);
        rangeStyle1.setHGap(5);
        rangeStyle1.setVGap(5);
        layoutHelper.addRangeStyle(8, 11, rangeStyle1);
        adapters.add(new SubAdapter(this, layoutHelper, 16));
    }
    if (SINGLE_LAYOUT) {
        SingleLayoutHelper layoutHelper = new SingleLayoutHelper();
        layoutHelper.setBgColor(Color.rgb(135, 225, 90));
        layoutHelper.setAspectRatio(4);
        layoutHelper.setMargin(10, 20, 10, 20);
        layoutHelper.setPadding(10, 10, 10, 10);
        adapters.add(new SubAdapter(this, layoutHelper, 1, new LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, 100)));
    }
    if (COLUMN_LAYOUT) {
        ColumnLayoutHelper layoutHelper = new ColumnLayoutHelper();
        layoutHelper.setBgColor(0xff00f0f0);
        layoutHelper.setWeights(new float[] { 40.0f, Float.NaN, 40 });
        adapters.add(new SubAdapter(this, layoutHelper, 5) {

            @Override
            public void onBindViewHolder(MainViewHolder holder, int position) {
                if (position == 0) {
                    LayoutParams layoutParams = new LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, 300);
                    layoutParams.mAspectRatio = 4;
                    holder.itemView.setLayoutParams(layoutParams);
                } else {
                    LayoutParams layoutParams = new LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, 300);
                    layoutParams.mAspectRatio = Float.NaN;
                    holder.itemView.setLayoutParams(layoutParams);
                }
            }
        });
    }
    if (ONEN_LAYOUT) {
        OnePlusNLayoutHelper helper = new OnePlusNLayoutHelper();
        helper.setBgColor(0xff876384);
        helper.setAspectRatio(4.0f);
        helper.setColWeights(new float[] { 40f, 45f });
        helper.setMargin(10, 20, 10, 20);
        helper.setPadding(10, 10, 10, 10);
        adapters.add(new SubAdapter(this, helper, 2));
    }
    if (ONEN_LAYOUT) {
        OnePlusNLayoutHelper helper = new OnePlusNLayoutHelper();
        helper.setBgColor(0xffef8ba3);
        helper.setAspectRatio(2.0f);
        helper.setColWeights(new float[] { 40f });
        helper.setRowWeight(30f);
        helper.setMargin(10, 20, 10, 20);
        helper.setPadding(10, 10, 10, 10);
        adapters.add(new SubAdapter(this, helper, 4) {

            @Override
            public void onBindViewHolder(MainViewHolder holder, int position) {
                super.onBindViewHolder(holder, position);
                LayoutParams lp = (LayoutParams) holder.itemView.getLayoutParams();
                if (position == 0) {
                    lp.rightMargin = 1;
                } else if (position == 1) {
                } else if (position == 2) {
                    lp.topMargin = 1;
                    lp.rightMargin = 1;
                }
            }
        });
    }
    if (ONEN_LAYOUT) {
        adapters.add(new SubAdapter(this, new OnePlusNLayoutHelper(), 0));
        OnePlusNLayoutHelper helper = new OnePlusNLayoutHelper();
        helper.setBgColor(0xff87e543);
        helper.setAspectRatio(1.8f);
        helper.setColWeights(new float[] { 33.33f, 50f, 40f });
        helper.setMargin(10, 20, 10, 20);
        helper.setPadding(10, 10, 10, 10);
        LayoutParams lp = new LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
        adapters.add(new SubAdapter(this, helper, 3, lp) {

            @Override
            public void onBindViewHolder(MainViewHolder holder, int position) {
                super.onBindViewHolder(holder, position);
                LayoutParams lp = (LayoutParams) holder.itemView.getLayoutParams();
                if (position == 0) {
                    lp.rightMargin = 1;
                }
            }
        });
    }
    if (COLUMN_LAYOUT) {
        adapters.add(new SubAdapter(this, new ColumnLayoutHelper(), 0));
        adapters.add(new SubAdapter(this, new ColumnLayoutHelper(), 4));
    }
    if (FIX_LAYOUT) {
        FixLayoutHelper layoutHelper = new FixLayoutHelper(10, 10);
        adapters.add(new SubAdapter(this, layoutHelper, 0));
        layoutHelper = new FixLayoutHelper(FixLayoutHelper.TOP_RIGHT, 20, 20);
        adapters.add(new SubAdapter(this, layoutHelper, 1) {

            @Override
            public void onBindViewHolder(MainViewHolder holder, int position) {
                super.onBindViewHolder(holder, position);
                LayoutParams layoutParams = new LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, 200);
                holder.itemView.setLayoutParams(layoutParams);
            }
        });
    }
    if (GRID_LAYOUT) {
        GridLayoutHelper layoutHelper = new GridLayoutHelper(2);
        layoutHelper.setMargin(7, 0, 7, 0);
        layoutHelper.setWeights(new float[] { 46.665f });
        layoutHelper.setHGap(3);
        adapters.add(new SubAdapter(this, layoutHelper, 2));
        layoutHelper = new GridLayoutHelper(4);
        layoutHelper.setWeights(new float[] { 20f, 26.665f });
        layoutHelper.setMargin(7, 0, 7, 0);
        layoutHelper.setHGap(3);
        adapters.add(new SubAdapter(this, layoutHelper, 8));
    }
    if (GRID_LAYOUT) {
        adapters.add(new SubAdapter(this, new GridLayoutHelper(4), 0));
        GridLayoutHelper helper = new GridLayoutHelper(4);
        helper.setAspectRatio(4f);
        // helper.setColWeights(new float[]{40, 20, 30, 30});
        // helper.setMargin(0, 10, 0, 10);
        helper.setGap(10);
        adapters.add(new SubAdapter(this, helper, 80) {

            @Override
            public void onBindViewHolder(MainViewHolder holder, int position) {
                super.onBindViewHolder(holder, position);
                LayoutParams lp = (LayoutParams) holder.itemView.getLayoutParams();
            // lp.bottomMargin = 1;
            // lp.rightMargin = 1;
            }
        });
    }
    if (FIX_LAYOUT) {
        adapters.add(new SubAdapter(this, new ScrollFixLayoutHelper(20, 20), 1) {

            @Override
            public void onBindViewHolder(MainViewHolder holder, int position) {
                super.onBindViewHolder(holder, position);
                LayoutParams layoutParams = new LayoutParams(200, 200);
                holder.itemView.setLayoutParams(layoutParams);
            }
        });
    }
    if (LINEAR_LAYOUT)
        adapters.add(new SubAdapter(this, new LinearLayoutHelper(), 10));
    if (GRID_LAYOUT) {
        GridLayoutHelper helper = new GridLayoutHelper(3);
        helper.setMargin(0, 10, 0, 10);
        adapters.add(new SubAdapter(this, helper, 3));
    }
    if (STAGGER_LAYOUT) {
        // adapters.add(new SubAdapter(this, new StaggeredGridLayoutHelper(2, 0), 0));
        final StaggeredGridLayoutHelper helper = new StaggeredGridLayoutHelper(2, 10);
        helper.setMargin(20, 10, 10, 10);
        helper.setPadding(10, 10, 20, 10);
        helper.setBgColor(0xFF86345A);
        adapters.add(new SubAdapter(this, helper, 27) {

            @Override
            public void onBindViewHolder(MainViewHolder holder, int position) {
                super.onBindViewHolder(holder, position);
                LayoutParams layoutParams = new LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, 200);
                if (position % 2 == 0) {
                    layoutParams.mAspectRatio = 1.0f;
                } else {
                    layoutParams.height = 340 + position % 7 * 20;
                }
                holder.itemView.setLayoutParams(layoutParams);
            }
        });
    }
    if (COLUMN_LAYOUT) {
    // adapters.add(new SubAdapter(this, new ColumnLayoutHelper(), 3));
    }
    if (GRID_LAYOUT) {
    // adapters.add(new SubAdapter(this, new GridLayoutHelper(4), 24));
    }
    adapters.add(new FooterAdapter(recyclerView, VLayoutActivity.this, new GridLayoutHelper(1), 1));
    delegateAdapter.setAdapters(adapters);
    final Handler mainHandler = new Handler(Looper.getMainLooper());
    trigger = new Runnable() {

        @Override
        public void run() {
        // recyclerView.scrollToPosition(22);
        // recyclerView.getAdapter().notifyDataSetChanged();
        // mainHandler.postDelayed(trigger, 1000);
        // List<DelegateAdapter.Adapter> newAdapters = new ArrayList<>();
        // newAdapters.add((new SubAdapter(VLayoutActivity.this, new ColumnLayoutHelper(), 3)));
        // newAdapters.add((new SubAdapter(VLayoutActivity.this, new GridLayoutHelper(4), 24)));
        // delegateAdapter.addAdapter(0, new SubAdapter(VLayoutActivity.this, new ColumnLayoutHelper(), 3));
        // delegateAdapter.addAdapter(1, new SubAdapter(VLayoutActivity.this, new GridLayoutHelper(4), 24));
        // delegateAdapter.notifyDataSetChanged();
        }
    };
    findViewById(R.id.jump).setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            EditText position = (EditText) findViewById(R.id.position);
            if (!TextUtils.isEmpty(position.getText())) {
                try {
                    int pos = Integer.parseInt(position.getText().toString());
                    recyclerView.scrollToPosition(pos);
                } catch (Exception e) {
                    Log.e("VlayoutActivity", e.getMessage(), e);
                }
            } else {
                recyclerView.requestLayout();
            }
        // FooterAdapter footer = (FooterAdapter)adapters.get(adapters.size() - 1);
        // footer.toggleFoot();
        }
    });
    mainHandler.postDelayed(trigger, 1000);
    mSwipeRefreshLayout.setOnRefreshListener(new OnRefreshListener() {

        @Override
        public void onRefresh() {
            mainHandler.postDelayed(new Runnable() {

                @Override
                public void run() {
                    mSwipeRefreshLayout.setRefreshing(false);
                }
            }, 2000L);
        }
    });
    setListenerToRootView();
}
Also used : ScrollFixLayoutHelper(com.alibaba.android.vlayout.layout.ScrollFixLayoutHelper) FixLayoutHelper(com.alibaba.android.vlayout.layout.FixLayoutHelper) ScrollFixLayoutHelper(com.alibaba.android.vlayout.layout.ScrollFixLayoutHelper) DelegateAdapter(com.alibaba.android.vlayout.DelegateAdapter) RecyclablePagerAdapter(com.alibaba.android.vlayout.RecyclablePagerAdapter) ColumnLayoutHelper(com.alibaba.android.vlayout.layout.ColumnLayoutHelper) RangeGridLayoutHelper(com.alibaba.android.vlayout.layout.RangeGridLayoutHelper) StaggeredGridLayoutHelper(com.alibaba.android.vlayout.layout.StaggeredGridLayoutHelper) GridLayoutHelper(com.alibaba.android.vlayout.layout.GridLayoutHelper) RecyclablePagerAdapter(com.alibaba.android.vlayout.RecyclablePagerAdapter) DelegateAdapter(com.alibaba.android.vlayout.DelegateAdapter) SingleLayoutHelper(com.alibaba.android.vlayout.layout.SingleLayoutHelper) StickyLayoutHelper(com.alibaba.android.vlayout.layout.StickyLayoutHelper) ViewLifeCycleListener(com.alibaba.android.vlayout.extend.ViewLifeCycleListener) EditText(android.widget.EditText) Rect(android.graphics.Rect) LayoutParams(com.alibaba.android.vlayout.VirtualLayoutManager.LayoutParams) LinearLayoutHelper(com.alibaba.android.vlayout.layout.LinearLayoutHelper) ViewGroup(android.view.ViewGroup) Handler(android.os.Handler) OnePlusNLayoutHelper(com.alibaba.android.vlayout.layout.OnePlusNLayoutHelper) RangeGridLayoutHelper(com.alibaba.android.vlayout.layout.RangeGridLayoutHelper) View(android.view.View) RecyclerView(android.support.v7.widget.RecyclerView) TextView(android.widget.TextView) ViewPager(android.support.v4.view.ViewPager) LinkedList(java.util.LinkedList) LayoutManagerCanScrollListener(com.alibaba.android.vlayout.extend.LayoutManagerCanScrollListener) RecyclerView(android.support.v7.widget.RecyclerView) PerformanceMonitor(com.alibaba.android.vlayout.extend.PerformanceMonitor) VirtualLayoutManager(com.alibaba.android.vlayout.VirtualLayoutManager) StaggeredGridLayoutHelper(com.alibaba.android.vlayout.layout.StaggeredGridLayoutHelper) GridRangeStyle(com.alibaba.android.vlayout.layout.RangeGridLayoutHelper.GridRangeStyle) FloatLayoutHelper(com.alibaba.android.vlayout.layout.FloatLayoutHelper) OnRefreshListener(android.support.v4.widget.SwipeRefreshLayout.OnRefreshListener)

Example 3 with OnRefreshListener

use of android.support.v4.widget.SwipeRefreshLayout.OnRefreshListener in project robolectric by robolectric.

the class ShadowSwipeRefreshLayoutTest method getOnRefreshListener_shouldReturnTheListener.

@Test
public void getOnRefreshListener_shouldReturnTheListener() {
    final OnRefreshListener listener = mock(OnRefreshListener.class);
    final SwipeRefreshLayout layout = new SwipeRefreshLayout(RuntimeEnvironment.application);
    layout.setOnRefreshListener(listener);
    assertThat(shadowOf(layout).getOnRefreshListener()).isSameAs(listener);
}
Also used : SwipeRefreshLayout(android.support.v4.widget.SwipeRefreshLayout) OnRefreshListener(android.support.v4.widget.SwipeRefreshLayout.OnRefreshListener) Test(org.junit.Test)

Example 4 with OnRefreshListener

use of android.support.v4.widget.SwipeRefreshLayout.OnRefreshListener in project weibo by dingdangmao123.

the class Title method init.

@Override
public void init() {
    title = new TitleModel.inner(getIntent().getIntExtra("id", 0), getIntent().getStringExtra("title"));
    getSupportActionBar().setTitle(title.getTitle());
    adapter = new WeicoAdapter(data, this);
    tl.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false));
    tl.setAdapter(adapter);
    rf.setOnRefreshListener(new OnRefreshListener() {

        @Override
        public void onRefresh(RefreshLayout refreshlayout) {
            Refresh(1);
        }
    });
    rf.setOnLoadmoreListener(new OnLoadmoreListener() {

        @Override
        public void onLoadmore(RefreshLayout refreshlayout) {
            Refresh(0);
        }
    });
    rf.autoRefresh();
    Refresh(1);
}
Also used : SmartRefreshLayout(com.scwang.smartrefresh.layout.SmartRefreshLayout) RefreshLayout(com.scwang.smartrefresh.layout.api.RefreshLayout) SwipeRefreshLayout(android.support.v4.widget.SwipeRefreshLayout) LinearLayoutManager(android.support.v7.widget.LinearLayoutManager) OnLoadmoreListener(com.scwang.smartrefresh.layout.listener.OnLoadmoreListener) OnRefreshListener(com.scwang.smartrefresh.layout.listener.OnRefreshListener) TitleModel(com.gapcoder.weico.Index.Model.TitleModel) WeicoAdapter(com.gapcoder.weico.Index.Adapter.WeicoAdapter)

Aggregations

SwipeRefreshLayout (android.support.v4.widget.SwipeRefreshLayout)2 OnRefreshListener (android.support.v4.widget.SwipeRefreshLayout.OnRefreshListener)2 View (android.view.View)2 Paint (android.graphics.Paint)1 Rect (android.graphics.Rect)1 Handler (android.os.Handler)1 CoordinatorLayout (android.support.design.widget.CoordinatorLayout)1 ScrollingView (android.support.v4.view.ScrollingView)1 ViewPager (android.support.v4.view.ViewPager)1 LinearLayoutManager (android.support.v7.widget.LinearLayoutManager)1 RecyclerView (android.support.v7.widget.RecyclerView)1 ViewGroup (android.view.ViewGroup)1 WebView (android.webkit.WebView)1 AbsListView (android.widget.AbsListView)1 EditText (android.widget.EditText)1 ScrollView (android.widget.ScrollView)1 TextView (android.widget.TextView)1 DelegateAdapter (com.alibaba.android.vlayout.DelegateAdapter)1 RecyclablePagerAdapter (com.alibaba.android.vlayout.RecyclablePagerAdapter)1 VirtualLayoutManager (com.alibaba.android.vlayout.VirtualLayoutManager)1