我需要从完整的应用程序中删除滚动条。我想避免在我的应用程序中定义的所有滚动视图中编写android:scrollbars="none"
的麻烦。
现在,这是我尝试做的:
style.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>
有什么方法可以实现这一目标?
您可以在主题中定义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">
就是这样。完毕。