gpt4 book ai didi

java - 在拖动/重新排序期间调整 itemTouchhelper 上所有 recyclerview 单元格的大小

转载 作者:行者123 更新时间:2023-12-02 05:39:22 26 4
gpt4 key购买 nike

我有一个水平回收 View ,它实现了 ItemTouchHelper 回调来拖动和重新排序单元格。当移动单元格时,我想缩小所有单元格的宽度,以便它们全部显示在屏幕上。在 onItemSelected() 中,我可以成功更改当前正在移动的单元格的大小,并在 onItemClear 中恢复。

但是,我想调整所有单元格的大小,而不仅仅是当前单元格的大小。最好的方法是什么?

我尝试在适配器类中创建一个函数,并通过notifyDataSetChanged()调用它来调整大小,但是它删除了当前正在移动的单元格。

有没有办法在我的 ItemTouchHelperCallback 中执行此操作 - 创建与 onItemSelected 类似的函数,但更新所有其他单元格?

最佳答案

我不确定我是否完全理解你想要做什么,但我认为这可能会有所帮助:


int childs = recyclerView.getChildCount();
for (int i = 0; i < childs; i++) {
View child = recyclerView.getChildAt(i);
if (child != null) {
RecyclerView.ViewHolder vholder = recyclerView.getChildViewHolder(child);
if (vholder != null) {
ViewHolder holder = (ViewHolder) vholder;
if (holder.view != null) {
LayoutParams params = (LayoutParams)holder.view.getLayoutParams();
params.width = <new_width>;
params.height = <new_height>;
holder.view.setLayoutParams(params);
}
}
}
}

编码愉快!!

关于java - 在拖动/重新排序期间调整 itemTouchhelper 上所有 recyclerview 单元格的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56149550/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com