在Android中,要线性增减水平RecyclerView的高度,可以通过以下步骤实现:
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" />
RecyclerView recyclerView = findViewById(R.id.recyclerView);
LinearLayoutManager layoutManager = new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false);
recyclerView.setLayoutManager(layoutManager);
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> {
// 数据源
private List<String> data;
public MyAdapter(List<String> data) {
this.data = data;
}
@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
// 创建ViewHolder
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_layout, parent, false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
// 绑定数据
String item = data.get(position);
holder.textView.setText(item);
}
@Override
public int getItemCount() {
// 返回数据源的大小
return data.size();
}
public static class ViewHolder extends RecyclerView.ViewHolder {
TextView textView;
public ViewHolder(@NonNull View itemView) {
super(itemView);
textView = itemView.findViewById(R.id.textView);
}
}
}
<!-- item_layout.xml -->
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
List<String> data = new ArrayList<>();
data.add("Item 1");
data.add("Item 2");
data.add("Item 3");
MyAdapter adapter = new MyAdapter(data);
recyclerView.setAdapter(adapter);
notifyDataSetChanged()
方法来实现。// 增加一个项
data.add("New Item");
adapter.notifyDataSetChanged();
// 删除最后一项
data.remove(data.size() - 1);
adapter.notifyDataSetChanged();
这样,就可以实现在Android中线性增减水平RecyclerView的高度。请注意,以上示例中的代码仅供参考,实际使用时可能需要根据具体需求进行适当修改。
领取专属 10元无门槛券
手把手带您无忧上云