Android 自定义UI 实战 03 RecyclerView 吸顶 仿微信好友列表

本文介绍了如何使用Android的RecyclerView实现类似微信好友列表的吸顶功能。通过创建自定义的Star类,StarAdapter,以及StarDecoration,详细展示了设置RecyclerView的数据,初始化,以及吸顶效果的实现步骤,包括绘制头部空间和吸顶效果的绘制方法。
摘要由CSDN通过智能技术生成

public void setUserName(String userName) {

this.userName = userName;

}

public String getGroupName() {

return groupName;

}

public void setGroupName(String groupName) {

this.groupName = groupName;

}

public Star(String userName, String groupName) {

this.userName = userName;

this.groupName = groupName;

}

}

3、创建一个 StarAdapter


在StarAdapter 中实现 RecyclerView 功能

public class StarAdapter extends RecyclerView.Adapter<StarAdapter.StarViewHolder> {

private Context mContext;

private List starList;

private LayoutInflater inflater;

public StarAdapter(Context context, List stars){

this.mContext = context;

this.starList = stars;

this.inflater = LayoutInflater.from(mContext);

}

@NonNull

@Override

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

View view = inflater.inflate(R.layout.item, null);

return new StarViewHolder(view);

}

@Override

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

holder.textView.setText(starList.get(position).getUserName());

if (position %2 == 0){

holder.textView.setBackgroundColor(Color.YELLOW);

}else {

holder.textView.setBackgroundColor(Color.RED);

}

}

@Override

public int getItemCount() {

return starList.size();

}

public class StarViewHolder extends RecyclerView.ViewHolder {

private TextView textView;

public StarViewHolder(@NonNull View itemView) {

super(itemView);

textView = itemView.findViewById(R.id.user_name);

}

}

}

4、Activity 完整代码


public class MainActivity extends AppCompatActivity {

private RecyclerView recyclerView;

private StarAdapter starAdapter;

private List starList;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

init();

recyclerView = findViewById(R.id.main_rv);

starAdapter = new StarAdapter(this, starList);

recyclerView.setLayoutManager(new LinearLayoutManager(this));

recyclerView.setAdapter(starAdapter);

}

private void init(){

starList = new ArrayList<>();

for (int i &

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值