【发布时间】:2012-03-18 15:35:35
【问题描述】:
我有一个带有 ScrollView 的应用程序,我不希望滚动条出现在屏幕上。如何在确保滚动仍然有效的同时隐藏 ScrollView 中的滚动条?
【问题讨论】:
标签: android android-scrollview
我有一个带有 ScrollView 的应用程序,我不希望滚动条出现在屏幕上。如何在确保滚动仍然有效的同时隐藏 ScrollView 中的滚动条?
【问题讨论】:
标签: android android-scrollview
在 Java 中添加以下代码:
myScrollView.setVerticalScrollBarEnabled(false);
myScrollView.setHorizontalScrollBarEnabled(false);
在 XML 中为您的 ScrollView 添加以下属性:
android:scrollbars="none"
像这样:
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/mainScroll"
android:scrollbars="none" <!-- line to be added -->
>
【讨论】:
这将隐藏滚动条棒,但滚动条不会被禁用
android:scrollbarThumbVertical="@null"
android:scrollbarThumbHorizontal="@null"
这将禁用滚动条
android:scrollbars="none"
【讨论】:
android:scrollbars="none" 不会禁用滚动条。您可以滚动但只是隐藏`滚动视图棒`
在 XML 集中 android:scrollbars="none"
【讨论】:
试试这个,它也有效...
android:scrollbarThumbVertical="@null"
或
android:scrollbarThumbHorizontal="@null"
【讨论】:
根据我的经验,
android:scrollbarThumbVertical="@null"
可能在旧设备中导致 NullPointerException。改用这个:
android:scrollbarThumbVertical="@android:color/transparent"
干杯!
【讨论】:
您必须尝试以下解决方案
android:scrollbars="none"
或
android:scrollbarThumbVertical="@null"
android:scrollbarThumbHorizontal="@null"
或更改滚动条的颜色以隐藏它们
android:scrollbarThumbVertical="@android:color/transparent"
【讨论】:
在 XML 布局中,添加这个属性:
android:scrollbarSize="0dp"
【讨论】:
要隐藏垂直滚动条,请在 XML 中执行此操作:
android:scrollbarThumbVertical="@null"
为了隐藏水平滚动条,这样做:
android:scrollbarThumbHorizontal="@null"
如果您想隐藏滚动条而不禁用它,上述代码行将起作用。
要禁用滚动条,请这样写:
android:scrollbars="none"
【讨论】:
现在如果你设置android:scrollbars="none",滚动就不再起作用了
我已经解决了问题
android:scrollbars="vertical" // or horizontal
并将其大小设置为 0 dp
android:scrollbarSize="0dp"
【讨论】:
如果您正在制作“自定义”HorizontalScrollView,那么您应该像这样在代码中设置这些属性
this.scrollBarSize = 0
this.isHorizontalScrollBarEnabled = false
这是我工作的唯一方法。
【讨论】:
如果您需要以编程方式执行此操作,您可以设置以下一项或两项:
scrollView.isHorizontalScrollBarEnabled = false
scrollView.isVerticalScrollBarEnabled = false
如果您要定期同时应用这两者,请尝试添加此扩展程序
fun ScrollView.noScrollbars() {
isHorizontalScrollBarEnabled = false
isVerticalScrollBarEnabled = false
}
为了方便切换,您可以添加一个可选的布尔值
fun ScrollView.noScrollbars(hide: Boolean = true) {
isHorizontalScrollBarEnabled = !hide
isVerticalScrollBarEnabled = !hide
}
【讨论】: