我想知道这两种方法在做什么?我试图在我的 RecyclerView 上设置它,但它似乎没有做任何事情。
有什么想法吗?
最佳答案
setLayoutFrozen(true)
阻止对 UI 的任何更新,例如更改图像,甚至暂停布局上的事件(例如滚动)。这也会阻止 subview 的更新。
当事件停止时,它们不会排队并且会被丢弃。它基本上停止了一切,包括适配器和返回事件,如 View 状态。如果您有多个分层 View 并希望确保用户和任何数据更新不会影响该区域,这可能会很有用,比如在弹出图标后面的折叠 View /部分可见 View 中。
setLayoutFrozen(false)
本质上可以被认为是 RecyclerViews 在卡住后调用的 onResume()。
hasFixedSize()
是一个返回值,因此您无法设置。仅当适配器不会更改 RecyclerView 的大小时才返回 true,即使适配器有新内容也是如此。即不允许滚动的固定大小屏幕卡片类型 View
关于android - RecyclerView 的 setLayoutFrozen(boolean) 和 setHasFixedSize(boolean) 目的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34960749/