我想通过按下按钮来滚动我的列表视图。我上下使用两个按钮,当我按下向上按钮时,列表视图应该向上移动一排,当我按下按钮时,列表视图应该向下移动一排。
我的列表视图基于此链接。我在这里找到了一个很好的滚动视图示例。现在我的问题是我需要使用我的列表视图而不是滚动视图,它应该增加/减少一行。作为android的新手,任何人都可以帮助我解决这个问题。提前致谢。
您可以尝试以下任一方法:
对于直接滚动:
getListView().setSelection(int);
对于平滑滚动:
getListView().smoothScrollToPosition(int);
示例代码:
public View.OnClickListener onChk = new View.OnClickListener() {
public void onClick(View v) {
int index = list.getFirstVisiblePosition();
getListView().smoothScrollToPosition(index+1); // For increment.
}
});
但是,您需要处理一种情况,即顶部视图只有一半或一部分可见。
您甚至检查过 IDE 建议吗?;)
ListView lv = (ListView) findViewById(R.id.myListView);
// to scroll to a given position
lv.scrollTo(int x, int y);
// to scroll by a given number of dp
lv.scrollBy(int x, int y);
以平滑的持续时间滚动
getListView().smoothScrollToPositionFromTop(position,offset,duration);
参数 position -> 要滚动到的位置
offset ----> 滚动完成时距离视图顶部的位置像素所需的距离
持续时间-> 用于滚动的毫秒数
注意:来自 API 11。