由于LazyColumn没有滚动条,我尝试了这个解决方案。
有没有办法让我检查项目是否太少,列表无法滚动,因为滚动条仍然可见,如果可能的话,我想隐藏它?
在这种情况下,你应该使用惰性列表状态:它包含关于可见元素的信息,你需要检查它们是否都是完全可见的。
当需要连续读取任何状态并根据该状态产生一些值时,应使用derivedStateOf
,以防止重复重新编译。
kotlin prettyprint-override">val state = rememberLazyListState()
val canBeScrolled by remember {
derivedStateOf {
val layoutInfo = state.layoutInfo
val visibleItemsInfo = layoutInfo.visibleItemsInfo
if (layoutInfo.totalItemsCount == 0) {
false
} else {
val firstVisibleItem = visibleItemsInfo.first()
val lastVisibleItem = visibleItemsInfo.last()
val viewportHeight = layoutInfo.viewportEndOffset + layoutInfo.viewportStartOffset)
!(firstVisibleItem.index == 0 &&
firstVisibleItem.offset == 0 &&
lastVisibleItem.index + 1 == layoutInfo.totalItemsCount &&
lastVisibleItem.offset + lastVisibleItem.size <= viewportHeight)
}
}
}
LazyColumn(state = state) {
// ...
}
问题内容: 我试图找到屏幕的宽度和高度,但是我尝试过的任何方法都无法在我创建的类中使用,下面是我的代码。 有人知道如何找到它吗?我无法使用下面尝试的方式,因为.getWidth()已弃用? 问题答案: 使用以下代码
我知道如果你想检查是否有人点击了什么,你会这样做 但是我想检查屏幕是否根本没有被点击。为了做到这一点,我会产生什么代码? 此外,作为附带说明,让Android应用程序中的所有类扩展类是个好主意吗?
在Android系统中如何获得屏幕的可用高度?我需要的高度减去状态栏/菜单栏或任何其他可能在屏幕上的装饰,我需要它为所有设备工作。另外,我需要在onCreate函数中了解这一点。我知道这个问题以前有人问过,但我已经尝试过他们的解决方案,但没有一个奏效。以下是我尝试过的一些事情: 我已经在API7-17上测试了这段代码。不幸的是,在API 13的底部水平和垂直都有额外的空间,而在API 10、8和7
问题内容: 我需要使我的网页高度适合屏幕尺寸的高度,而无需滚动。 HTML CSS 问题答案: 一个快速,简洁,有效的独立解决方案,带有内联CSS,无jQuery要求。AFAIK也可以从IE9使用。
我如何才能使它的应用程序是优化的所有屏幕?
问题内容: 我正在使用SwiftUI绘制一个表,该表的行和列太多,无法容纳 屏幕宽度/高度。在这种情况下,我无法将视图对齐为 领先,但总是以某种方式居中。我该如何调整他们的领先地位?这 是绘制表格的视图: 这是GridStack: 这就是应用程序中的外观。请注意,边缘不适合 屏幕内部。即使我尝试滚动到那里,它也会反弹回来。 问题答案: 这是一个可能的方法演示(以及改进的方向,因为我 没有测试所有情