我想点击屏幕上的控件并让ListView滚动,直到给定的行位于屏幕的顶部,这一功能在iOS中看起来非常简单.
我没有找到API在这样的方法:http://developer.android.com/reference/android/widget/AbsListView.html#smoothScrollToPositionFromTop(int,INT)然而,这是API等级11,蜂窝.这意味着手机在冰淇淋三明治之前不能使用它,并且将冰淇淋三明治设置为运行应用程序的最低要求是很长的时间.
有没有办法在Froyo中获得相同的功能?
Eya*_*yal 12
以下代码并不完美,但在许多情况下它可以完成工作:
if (android.os.Build.VERSION.SDK_INT >= 11)
{
listView.smoothScrollToPositionFromTop(p, 0);
}
else if (android.os.Build.VERSION.SDK_INT >= 8)
{
int firstVisible = listView.getFirstVisiblePosition();
int lastVisible = listView.getLastVisiblePosition();
if (p < firstVisible)
listView.smoothScrollToPosition(p);
else
listView.smoothScrollToPosition(p + lastVisible - firstVisible - 2);
}
else
{
listView.setSelectionFromTop(p, 0);
}
Run Code Online (Sandbox Code Playgroud)