Android ListView - 更改程序化平滑滚动中使用的默认LinearInterpolator

时间:2014-12-08 18:44:37

标签: android listview android-listview android-scrollview android-scroll

我正在使用ListView来实现一个简单的老虎机。我想使用它的视图回收功能。一切都很好,除了我找不到改变使用的默认动画插值器的方法。

这是平滑滚动到某个位置的代码行:

getListView().smoothScrollToPositionFromTop(position,offset,duration);

它工作正常,除了它以线性方式动画到该位置,默认情况下使用LinearInterpolator。有没有办法/解决方法来提供自定义插值器,如AccelerateDecelerateInterpolator而不是LinearInterpolator?

提前致谢。

我在网上找到了这个,但我不知道如何覆盖,这是最终的。

https://github.com/android/platform_frameworks_base/blob/master/core/java/android/widget/AbsListView.java

public abstract class AbsListView extends AdapterView<ListAdapter> implements TextWatcher,
    ViewTreeObserver.OnGlobalLayoutListener, Filter.FilterListener,
    ViewTreeObserver.OnTouchModeChangeListener,
    RemoteViewsAdapter.RemoteAdapterConnectionCallback {

/**
 * Used for smooth scrolling at a consistent rate
 */
static final Interpolator sLinearInterpolator = new LinearInterpolator();

1 个答案:

答案 0 :(得分:0)

尝试使用RecyclerView,它可以使用自定义插值器。