Android 时间图像在屏幕上可见
在我的活动中,我有一个带有扩展ArrayAdapter的自定义适配器的listview。 现在我的listview就像Instagram或Facebook的主页。有很多图片是由用户发布的。每个listview项目的高度约为屏幕的高度。我想做的是计算用户观看图像的毫秒数。这意味着图像在屏幕上的显示量Android 时间图像在屏幕上可见,android,listview,imageview,android-arrayadapter,Android,Listview,Imageview,Android Arrayadapter,在我的活动中,我有一个带有扩展ArrayAdapter的自定义适配器的listview。 现在我的listview就像Instagram或Facebook的主页。有很多图片是由用户发布的。每个listview项目的高度约为屏幕的高度。我想做的是计算用户观看图像的毫秒数。这意味着图像在屏幕上的显示量 有人能帮忙吗?谢谢。您可以使用Timer类来计算时间 从头开始计时 使用OnScrollListener在每个滚动中使用getFirstVisiblePosition()检查当前可见的项目 如果位置
有人能帮忙吗?谢谢。您可以使用Timer类来计算时间
- 从头开始计时
- 使用OnScrollListener在每个滚动中使用getFirstVisiblePosition()检查当前可见的项目李>
- 如果位置改变,则增加相应项目的查看时间并重置计时器
- 当项目部分可见时,您可以使用listItem.getTop()和listItem.getBottom()找到这两个项目的可见部分,并假设用户正在查看具有更高可见部分的项目。(您说过“每个listview项目的高度接近屏幕的高度”。因此,一次最多必须有两个项目)
注意:检查项目的查看时间时,如果计时器是当前项,请不要忘记添加计时器中的值。使用计时器任务,当用户滚动时重新启动它。但是,如果他只滚动了一点点,图像仍然完全可见,该怎么办?检查GetItem,但如果我向下滚动,第一个可见图像可能几乎不可见,第二张图像几乎是完全可见的,所以从技术上讲,你看的是第二张图像,而不是第一张。