3

我需要从整个应用程序中删除滚动条。我想避免编写android:scrollbars="none"应用程序中定义的所有 ScrollViews 的麻烦。

现在,这是我试图做的:

样式.xml

<!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        <item name="android:scrollViewStyle">@style/NoScrollbars</item>
        <item name="android:scrollbarStyle">@style/NoScrollbars</item>
    </style>


<style name="NoScrollbars" parent="android:Widget.ScrollView">
    <item name="android:scrollbars">none</item>
</style>

有什么办法可以做到这一点?

4

1 回答 1

0

您可以在主题中定义 ScrollViewStyle 和 ListViewStyle:

<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>
    <item name="android:scrollbars">none</item>

</style>

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

</style>

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

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="nouman.app.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">

而已。完毕。

于 2017-05-02T11:00:28.817 回答