切换ListView的自动滚动 - 用户以交互方式滚动时

时间:2015-02-09 21:58:38

标签: android android-listview autoscroll android-scroll

我有一个真实的应用程序 - 您可以在下面的屏幕截图左侧看到。

我在GitHub准备了a very simple test app,你可以在右边看到:

screenshot

真正的应用在底部有一个ListView,其中充满了与蓝牙相关的日志消息。这种情况经常发生,每秒几次,用户无法向上滚动并查看特定事件 - 因为当新事件添加到用户时,列表会自动跳到底部列表。

我的问题是:当用户向上滚动以及如何在用户滚动到底部时再次启用自动滚动时,如何禁用ListView的自动滚动?

这是我非常简单的测试应用程序:

正如您所看到的,布局中的XML属性当前启用了自动滚动:

<ListView 
    android:id="@+id/myListView"
    android:stackFromBottom="true"
    android:transcriptMode="alwaysScroll"        
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

1 个答案:

答案 0 :(得分:0)

好的,我找到了解决问题的完美解决方案:

<ListView 
    android:id="@+id/myListView"
    android:stackFromBottom="true"
    android:transcriptMode="normal"        
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

transcriptMode设置为正常时,则:

  

数据集时,列表会自动滚动到底部   收到更改通知,并且仅在最后一项已经收到时   在屏幕上可见。

以下是my updated test project(我还添加了双击侦听器以清除那里的ListView

screenshot