如何在我的应用程序中禁用所有过度滚动效果?

wsg*_*gfz 23 user-interface android

在我们的应用程序中,滚动效果上的蓝色阴影看起来非常难看.有没有办法禁用所有过度滚动效果?你知道有很多ScrollView和列表...如果我必须在每个可以滚动的小部件中禁用它,那将是一种耻辱... thx~

CiT*_*TuX 27

您可以在主题中定义ScrollViewStyleListViewStyle:

<style name="Theme.MyTheme" parent="android:Theme.Holo">
    <item name="android:listViewStyle">@style/Widget.MyTheme.ListView</item>
    <item name="android:scrollViewStyle">@style/Widget.MyTheme.ScrollView</item>
</style>

<style name="Widget.MyTheme.ListView" parent="android:Widget.ListView">
    <item name="android:overScrollMode">never</item>
</style>

<style name="Widget.MyTheme.ScrollView" parent="android:Widget.ScrollView">
    <item name="android:overScrollMode">never</item>
</style>
Run Code Online (Sandbox Code Playgroud)

然后你必须在你身上定义你的主题AndroidManifest.xml:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="ch.citux.example"
      android:versionCode="1"
      android:versionName="1.0">

<uses-sdk android:targetSdkVersion="16" android:minSdkVersion="8"/>

<application
        android:hardwareAccelerated="true"
        android:label="@string/app_name"
        android:icon="@drawable/ic_launcher"
        android:theme="@style/Theme.MyTheme">
Run Code Online (Sandbox Code Playgroud)

就是这样,不再过度滚动;)


Par*_*han 21

我面临同样的问题

试试这段代码

listView.setOverScrollMode(View.OVER_SCROLL_NEVER);
Run Code Online (Sandbox Code Playgroud)


小智 20

你可以做到这一点

layout.XML中

android:overScrollMode="never"
Run Code Online (Sandbox Code Playgroud)

在scrollview中


小智 8

您可以通过打开"res/values/styles.xml"文件并添加项目行来禁用所有过度滚动效果:

<style name="AppTheme" parent="AppBaseTheme">
    <item name="android:overScrollMode">never</item>
</style>
Run Code Online (Sandbox Code Playgroud)