android.support.v7.widget.StaggeredGridLayoutManager#setGapStrategy ( )源码实例Demo

下面列出了android.support.v7.widget.StaggeredGridLayoutManager#setGapStrategy ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.sample_ll_activity);
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);

    mRecyclerView = (LRecyclerView) findViewById(R.id.list);

    mDataAdapter = new DataAdapter(this);

    mLRecyclerViewAdapter = new LRecyclerViewAdapter(mDataAdapter);
    mRecyclerView.setAdapter(mLRecyclerViewAdapter);

    //setLayoutManager
    StaggeredGridLayoutManager layoutManager = new StaggeredGridLayoutManager( 2, StaggeredGridLayoutManager.VERTICAL);
    layoutManager.setOrientation(LinearLayoutManager.VERTICAL);
    //防止item位置互换
    layoutManager.setGapStrategy(StaggeredGridLayoutManager.GAP_HANDLING_NONE);
    mRecyclerView.setLayoutManager(layoutManager);

    mLRecyclerViewAdapter.addHeaderView(new SampleHeader(this));

    mRecyclerView.setOnRefreshListener(new OnRefreshListener() {
        @Override
        public void onRefresh() {
            mCurrentCounter = 0;
            mDataAdapter.clear();
            requestData();
        }
    });

    mRecyclerView.setOnLoadMoreListener(new OnLoadMoreListener() {
        @Override
        public void onLoadMore() {
            if (mCurrentCounter < TOTAL_COUNTER) {
                // loading more
                requestData();
            } else {
                //the end
                mRecyclerView.setNoMore(true);
            }
        }
    });


    mRecyclerView.refresh();

}
 
源代码2 项目: NiceRead   文件: GirlItemFragment.java
@Override
protected void initView() {
    EventBus.getDefault().register(this);

    mSwipeRefreshLayout.setColorSchemeResources(R.color.colorPrimary, R.color.colorAccent, R.color.colorPrimaryDark);
    mSwipeRefreshLayout.setOnRefreshListener(this);
    //实现首次自动显示加载提示
    mSwipeRefreshLayout.post(new Runnable() {
        @Override
        public void run() {
            mSwipeRefreshLayout.setRefreshing(true);
        }
    });

    mGirlItemAdapter = new GirlItemAdapter(mActivity, new ArrayList<GirlItemData>(), true);
    mGirlItemAdapter.setLoadingView(R.layout.load_loading_layout);
    mGirlItemAdapter.setOnItemClickListener(new OnItemClickListeners<GirlItemData>() {
        @Override
        public void onItemClick(ViewHolder viewHolder, GirlItemData girlItemData, int position) {
            Intent intent = new Intent(mActivity, GirlDetailActivity.class);
            intent.putExtra("girl_item_data", girlItemData);
            startActivity(intent);
        }
    });

    mGirlItemAdapter.setOnLoadMoreListener(new OnLoadMoreListener() {
        @Override
        public void onLoadMore(boolean isReload) {
            if (PAGE_COUNT == mTempPageCount && !isReload) {
                return;
            }
            isLoadMore = true;
            PAGE_COUNT = mTempPageCount;
            fetchData();
        }
    });

    final StaggeredGridLayoutManager layoutManager = new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL);
    layoutManager.setGapStrategy(StaggeredGridLayoutManager.GAP_HANDLING_NONE);//可防止Item切换
    mRecyclerView.setLayoutManager(layoutManager);

    mRecyclerView.setAdapter(mGirlItemAdapter);
}