网格布局示例
Main代码如下
public class WangGeActivity extends AppCompatActivity {
private RecyclerView recyclerView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_wang_ge);
recyclerView = findViewById(R.id.recyclerView2);
//设置布局方式以及列数
recyclerView.setLayoutManager(new GridLayoutManager(WangGeActivity.this,3));
recyclerView.setAdapter(new WangGeAdapter(WangGeActivity.this));
}
}
适配器代码
和列表适配器的基本上一毛一样
代码看不懂可以去看我上一篇的教程,那个注释多
package com.huatex.recyclerlayout.Adapter;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import com.huatex.recyclerlayout.R;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
public class WangGeAdapter extends RecyclerView.Adapter<WangGeAdapter.LinearViewHolder> {
public WangGeAdapter(Context mcontext) {
this.mcontext = mcontext;
}
private Context mcontext;
@NonNull
@Override
public WangGeAdapter.LinearViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
return new LinearViewHolder(LayoutInflater.from(mcontext).inflate(R.layout.layout_wangge_item, parent, false));
}
@Override
public void onBindViewHolder(@NonNull WangGeAdapter.LinearViewHolder holder, int position) {
holder.tv.setText("时崎狂三");
}
@Override
public int getItemCount() {
return 30;
}
public class LinearViewHolder extends RecyclerView.ViewHolder {
private TextView tv;
public LinearViewHolder(@NonNull View itemView) {
super(itemView);
tv = itemView.findViewById(R.id.textView);
}
}
}
列表布局采用卡片式
效果图