失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 横向瀑布流android RecyclerView实现瀑布流布局

横向瀑布流android RecyclerView实现瀑布流布局

时间:2019-03-17 23:32:20

相关推荐

横向瀑布流android RecyclerView实现瀑布流布局

1,效果图

image.png

2,导包

implementation 'com.android.support:recyclerview-v7:27.1.1'

3,Xml文件

xmlns:android="/apk/res/android" android:layout_width="match_parent"

android:layout_height="match_parent"

android:background="#fff">

android:id="@+id/rv_one"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:overScrollMode="never"/>

4,Activity文件

public class RvOneActivity extends AppCompatActivity {

private static final Integer []CATS = new Integer[]{

R.drawable.cat_1,

R.drawable.cat_2,

R.drawable.cat_3,

R.drawable.cat_4,

R.drawable.cat_5,

R.drawable.cat_6,

R.drawable.cat_7,

R.drawable.cat_8,

R.drawable.cat_9,

R.drawable.cat_10,

R.drawable.cat_11,

R.drawable.cat_12,

R.drawable.cat_13,

R.drawable.cat_14,

R.drawable.cat_15,

R.drawable.cat_16,

R.drawable.cat_17,

R.drawable.cat_18,

R.drawable.cat_19,

} ;

private RecyclerView rvone;

List data;

@Override

protected void onCreate(@Nullable Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_rvone);

this.rvone = (RecyclerView) findViewById(R.id.rv_one);

//new LinearLayoutManager()

//new GridLayoutManager()

StaggeredGridLayoutManager staggeredGridLayoutManager =

new StaggeredGridLayoutManager(4,

StaggeredGridLayoutManager.VERTICAL);

rvone.setLayoutManager(staggeredGridLayoutManager);

data = Arrays.asList(CATS);

rvone.setAdapter(new MyAdapter());

}

public class MyAdapter extends RecyclerView.Adapter{

@NonNull

@Override

public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {

View view = LayoutInflater.from(RvOneActivity.this).inflate(R.layout.item_rvone, parent, false);

return new ViewHolder(view);

}

@Override

public void onBindViewHolder(@NonNull ViewHolder holder, int position) {

holder.ivIcon.setImageResource(data.get(position));

}

@Override

public int getItemCount() {

return data.size();

}

class ViewHolder extends RecyclerView.ViewHolder {

ImageView ivIcon;

public ViewHolder(View itemView) {

super(itemView);

ivIcon = itemView.findViewById(R.id.iv_item_icon);

}

}

}

}

5,Item文件

xmlns:android="/apk/res/android"

android:layout_width="match_parent"

android:layout_height="wrap_content">

android:id="@+id/iv_item_icon"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:src="@drawable/cat_1"

android:scaleType="centerCrop"

android:layout_margin="1dp"

/>

如果觉得《横向瀑布流android RecyclerView实现瀑布流布局》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。