如何实现让RecyclerView有不同尺寸的item
答案:1 悬赏:30
解决时间 2021-02-27 18:38
- 提问者网友:她是我的お女人
- 2021-02-27 08:21
如何实现让RecyclerView有不同尺寸的item
最佳答案
- 二级知识专家网友:不服输的倔强
- 2021-02-27 08:28
package tv.lesports.com.myrecyclerview;
import android.app.Activity;
import android.os.Bundle;
import android.support.v7.widget.DefaultItemAnimator;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.StaggeredGridLayoutManager;
import android.view.View;
import java.util.ArrayList;
public class RecyclerViewActivity extends Activity {
private RecyclerView mRecyclerView;
private HomeAdapter mAdapter;
private ArrayList<SearchResultBean> mDataList;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.recyclerview_layout);
initData();
mRecyclerView = (RecyclerView) findViewById(R.id.id_recyclerview);
GridLayoutManager manager = new GridLayoutManager(this, 4);
manager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
@Override
public int getSpanSize(int position) {
SearchResultBean bean = mDataList.get(position);
if (bean.getType() == 0) {
return 4;
} else if(bean.getType() == 1){
return 2;
}else{
return 1;
}
}
});
mRecyclerView.setLayoutManager(manager);
mRecyclerView.setItemAnimator(new DefaultItemAnimator());
mAdapter = new HomeAdapter(this, mDataList);
mRecyclerView.setAdapter(mAdapter);
}
protected void initData() {
mDataList = new ArrayList<SearchResultBean>();
for (int i = 0; i < 50; i++) {
SearchResultBean bean = new SearchResultBean();
bean.setName(i + "");
if (i == 0) {
bean.setType(0);
} else if (i > 0 && i <= 5) {
bean.setType(1);
} else {
bean.setType(2);
}
mDataList.add(bean);
}
}
}
import android.app.Activity;
import android.os.Bundle;
import android.support.v7.widget.DefaultItemAnimator;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.StaggeredGridLayoutManager;
import android.view.View;
import java.util.ArrayList;
public class RecyclerViewActivity extends Activity {
private RecyclerView mRecyclerView;
private HomeAdapter mAdapter;
private ArrayList<SearchResultBean> mDataList;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.recyclerview_layout);
initData();
mRecyclerView = (RecyclerView) findViewById(R.id.id_recyclerview);
GridLayoutManager manager = new GridLayoutManager(this, 4);
manager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
@Override
public int getSpanSize(int position) {
SearchResultBean bean = mDataList.get(position);
if (bean.getType() == 0) {
return 4;
} else if(bean.getType() == 1){
return 2;
}else{
return 1;
}
}
});
mRecyclerView.setLayoutManager(manager);
mRecyclerView.setItemAnimator(new DefaultItemAnimator());
mAdapter = new HomeAdapter(this, mDataList);
mRecyclerView.setAdapter(mAdapter);
}
protected void initData() {
mDataList = new ArrayList<SearchResultBean>();
for (int i = 0; i < 50; i++) {
SearchResultBean bean = new SearchResultBean();
bean.setName(i + "");
if (i == 0) {
bean.setType(0);
} else if (i > 0 && i <= 5) {
bean.setType(1);
} else {
bean.setType(2);
}
mDataList.add(bean);
}
}
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯