我有一个带有 ScrollView 的应用程序,我不希望滚动条出现在屏幕上。如何在确保滚动仍然有效的同时隐藏 ScrollView 中的滚动条?
11 回答
在 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"
在 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
这是我让我的工作的唯一方法。
Kotlin 解决方案
如果您需要以编程方式执行此操作,您可以设置以下一项或两项:
scrollView.isHorizontalScrollBarEnabled = false
scrollView.isVerticalScrollBarEnabled = false
如果您要定期应用两者,请尝试添加此扩展程序
fun ScrollView.noScrollbars() {
isHorizontalScrollBarEnabled = false
isVerticalScrollBarEnabled = false
}
为了轻松地允许切换,您可以添加一个可选的布尔值
fun ScrollView.noScrollbars(hide: Boolean = true) {
isHorizontalScrollBarEnabled = !hide
isVerticalScrollBarEnabled = !hide
}