Android ListView - 更改程序化平滑滚动中使用的默认线性插值器



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

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

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

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

提前谢谢。

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

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();

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

相关内容

  • 没有找到相关文章

最新更新