瀑布布局

PubuActivity

public class PubuActivity extends AppCompatActivity {

    private RecyclerView recyclerView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_pubu);
        recyclerView = findViewById(R.id.recycler_View);
        StaggeredGridLayoutManager staggeredGridLayoutManager = new StaggeredGridLayoutManager(2,StaggeredGridLayoutManager.VERTICAL);
        recyclerView.setLayoutManager(staggeredGridLayoutManager);
        StaggerAdapter adapter=new StaggerAdapter(this);
        String[] avatarArray=new String[]{
                "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1544442373811&di=848a4182d8f35674317cd145fa09fa88&imgtype=0&src=http%3A%2F%2Fi0.hdslb.com%2Fbfs%2Fface%2Faf5068ab80526f8d4a9acb8907277b534c633d07.jpg",
                "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1545037250&di=866ab32daebc69e66bcb041b97340fb7&imgtype=jpg&er=1&src=http%3A%2F%2Fhellorfimg.zcool.cn%2Fpreview%2F293300162.jpg",
                "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1544452449351&di=9063f14cfc8d124e7ed08c635f677d19&imgtype=0&src=http%3A%2F%2Fimgsrc.baidu.com%2Fimgad%2Fpic%2Fitem%2Ff9dcd100baa1cd11a438a2e9b312c8fcc2ce2d69.jpg"
        };
        for (int i = 0; i <30 ; i++) {
            User user = new User();
            user.setName("张"+i);
            user.setAvatar(avatarArray[i%avatarArray.length]);
            adapter.addItem(user);
        }
        recyclerView.setAdapter(adapter);
        recyclerView.setItemAnimator(new DefaultItemAnimator());
    }
}

StaggerAdapter

public class StaggerAdapter extends RecyclerView.Adapter<StaggerAdapter.VH> {
    private Context context;
    private final List<User> mData;

    public void addItem(User user) {

        if (user != null) {
            mData.add(user);
        }
    }

    public StaggerAdapter(Context context) {
        this.context = context;
        this.mData = new ArrayList<>();
    }

    @NonNull
    @Override
    public VH onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
        View inflate = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.staggerlayout, viewGroup, false);


        return new VH(inflate);
    }

    @Override
    public void onBindViewHolder(@NonNull VH vh, int i) {
        User user = mData.get(i);
        vh.title.setText(user.getName());
        Glide.with(context).load(user.getAvatar()).into(vh.avatar);
        vh.itemView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

            }
        });
    }

    @Override
    public int getItemCount() {
        return mData.size();
    }

    public static class VH extends RecyclerView.ViewHolder {

        private final TextView title;
        private final ImageView avatar;

        public VH(@NonNull View itemView) {
            super(itemView);
            title = itemView.findViewById(R.id.title);
            avatar = itemView.findViewById(R.id.avatar);
        }
    }
}

布局

			android.support.v7.widget.RecyclerView
			        android:layout_height="match_parent"
			        android:id="@+id/recycler_View"
			        android:layout_width="match_parent"/>	
				        LinearLayout
		    xmlns:android="http://schemas.android.com/apk/res/android"
		    xmlns:app="http://schemas.android.com/apk/res-auto"
		    xmlns:tools="http://schemas.android.com/tools"
		    android:layout_width="match_parent"
		    android:layout_height="wrap_content"
		    android:orientation="vertical">
		    ImageView
		        android:id="@+id/avatar"
		        android:layout_width="match_parent"
		        android:layout_height="wrap_content"
		        android:src="@mipmap/ic_launcher"
		        android:adjustViewBounds="true"/>
		    TextView
		        android:id="@+id/title"
		        android:layout_width="wrap_content"
		        android:layout_height="wrap_content"
		        android:gravity="center_vertical"
		        android:text="1"
		        />
		/LinearLayout>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值