【问题标题】:Resizing Viewholder in a RecyclerView在 RecyclerView 中调整 Viewholder 的大小
【发布时间】:2014-11-13 02:00:22
【问题描述】:

我有一个使用默认线性布局管理器的 RecyclerView。

llm = new LinearLayoutManager(getActivity().getApplicationContext());
    llm.setOrientation(LinearLayoutManager.VERTICAL);
    ItemListView = (RecyclerView) rootView.findViewById(R.id.Itemlist);
    ItemListView.setLayoutManager(llm);
    final float scale = getActivity().getBaseContext().getResources().getDisplayMetrics().density;

我正在尝试更改该项目视图的高度以在单击标签时显示其他 ui 元素。

我试过了,没有成功

vh.itemView.setMinimumHeight((int)(375 *(scale/160)));

我什至可以更改项目高度吗?我需要实现自己的 layoutManager 吗?

【问题讨论】:

  • 我这样做的方法是最初通过调用 (some_ui_element).setVisibility(View.INVISIBLE); 从项目视图中隐藏我的其他 ui 元素。当用户点击该项目时,我通过调用(some_ui_element).setVisibility(View.VISIBLE); 取消隐藏元素并确保 xml 中的项目布局设置为其布局高度的 wrap-content。项目卡片视图(或列表视图)已调整大小以显示 ui 元素。你试过这种方式吗?
  • 这适用于一个皱纹,我必须将初始可见性设置为消失,因此没有空白空间。
  • 正确 - 我的意思是 View.GONE - 我将其发布为答案 - 谢谢
  • 我在使用这种方法时遇到的问题是我必须双击视图才能使其工作。有其他人看到并解决了吗?

标签: android android-recyclerview


【解决方案1】:

最初通过调用隐藏项目视图中的其他 ui 元素

(some_ui_element).setVisibility(View.GONE);

单击项目时,通过调用取消隐藏元素

   (some_ui_element).setVisibility(View.VISIBLE);

并确保 xml 中的项目布局设置为其布局高度的 wrap-content。项目卡片视图(或列表视图)已调整大小以显示 ui 元素。

【讨论】:

    猜你喜欢
    • 2018-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多