android. 使用recyclerView 做头像挂件 全代码
时间: 2024-04-27 22:19:39 浏览: 11
好的,下面是使用 RecyclerView 实现头像挂件的示例代码:
首先,创建一个 AvatarModel 类,用于表示每个头像挂件的数据:
```java
public class AvatarModel {
private String imageUrl;
public AvatarModel(String imageUrl) {
this.imageUrl = imageUrl;
}
public String getImageUrl() {
return imageUrl;
}
}
```
然后,创建一个 RecyclerView.Adapter 的子类 AvatarAdapter,用于管理头像挂件的显示:
```java
public class AvatarAdapter extends RecyclerView.Adapter<AvatarAdapter.AvatarViewHolder> {
private List<AvatarModel> avatarList;
public AvatarAdapter(List<AvatarModel> avatarList) {
this.avatarList = avatarList;
}
@NonNull
@Override
public AvatarViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_avatar, parent, false);
return new AvatarViewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull AvatarViewHolder holder, int position) {
AvatarModel avatar = avatarList.get(position);
Glide.with(holder.itemView.getContext()).load(avatar.getImageUrl()).into(holder.avatarImageView);
}
@Override
public int getItemCount() {
return avatarList.size();
}
public static class AvatarViewHolder extends RecyclerView.ViewHolder {
public ImageView avatarImageView;
public AvatarViewHolder(@NonNull View itemView) {
super(itemView);
avatarImageView = itemView.findViewById(R.id.avatarImageView);
}
}
}
```
其中,AvatarViewHolder 用于管理头像挂件的视图,item_avatar.xml 是头像挂件的布局文件,如下所示:
```xml
<ImageView
android:id="@+id/avatarImageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="8dp"
android:src="@drawable/avatar_placeholder" />
```
最后,在 Activity 或 Fragment 中,创建 RecyclerView 并设置 AvatarAdapter,如下所示:
```java
public class AvatarActivity extends AppCompatActivity {
private RecyclerView recyclerView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_avatar);
recyclerView = findViewById(R.id.recyclerView);
recyclerView.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false));
List<AvatarModel> avatarList = new ArrayList<>();
avatarList.add(new AvatarModel("https://example.com/avatar1.png"));
avatarList.add(new AvatarModel("https://example.com/avatar2.png"));
avatarList.add(new AvatarModel("https://example.com/avatar3.png"));
AvatarAdapter adapter = new AvatarAdapter(avatarList);
recyclerView.setAdapter(adapter);
}
}
```
其中,activity_avatar.xml 包含一个 RecyclerView,如下所示:
```xml
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
```
这样,就可以通过 RecyclerView 显示头像挂件了。