更改ViewPager的过度滚动颜色

时间:2013-08-14 08:59:52

标签: java android android-viewpager android-theme

如何在Android中更改ViewPager的过度滚动发光效果颜色?或者有没有办法通过主题改变整个应用程序的过度滚动颜色?

我知道setOverScrollHeader和footer,但这些“逻辑上”当然不适用于水平模式下的viewpager。

3 个答案:

答案 0 :(得分:1)

最简单的方法是使用主题为您的viewpager覆盖colorPrimary

例如:

在您的片段/活动中:

<androidx.viewpager.widget.ViewPager
    android:id="@+id/viewpager"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:theme="@style/AppTheme.Viewpager" />

在文件styles.xml中:

<style name="AppTheme.Viewpager" parent="AppTheme">
    <item name="colorPrimary">#FFFFFF</item>
</style>

答案 1 :(得分:0)

解决方案1:您可以在滚动侦听器内调用方法setBackground,setBackgroundColor和setAlpha方法来创建自己的外观。

解决方案2:您可以创建自己的AlphaAnimation,它将在滚动侦听器中触发。

    AlphaAnimation fadeIn = new AlphaAnimation( 0.0f , 1.0f ) ; 
    fadeIn.setDuration(1000);

    yourViewPager.startAnimation(fadeIn);

答案 2 :(得分:0)

终于找到了解决方案!!

AndroidAlliance名为EdgeEffectOverride的精彩图书馆。

它可以轻松地更改ScrollView,ListView,ExpandableListView,GridView&amp;的 ViewPager

链接:https://github.com/AndroidAlliance/EdgeEffectOverride