隐藏完整应用程序中的滚动条

时间:2017-05-02 10:40:26

标签: android android-scrollview android-scrollbar

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

现在,这是我试图做的事情:

styles.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>

有没有办法让这种情况发生?

1 个答案:

答案 0 :(得分: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">

那就是它。完成。