在 ScrollView 中隐藏滚动条
Posted
技术标签:
【中文标题】在 ScrollView 中隐藏滚动条【英文标题】:Hide scrollbar in ScrollView 【发布时间】:2012-03-18 15:35:35 【问题描述】:我有一个带有 ScrollView 的应用程序,我不希望滚动条出现在屏幕上。如何在确保滚动仍然有效的同时隐藏 ScrollView 中的滚动条?
【问题讨论】:
Remove scroll bar track from ScrollView in android的可能重复 【参考方案1】:在 Java 中添加以下代码:
myScrollView.setVerticalScrollBarEnabled(false);
myScrollView.setHorizontalScrollBarEnabled(false);
在 XML 中为您的 ScrollView 添加以下属性:
android:scrollbars="none"
像这样:
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_
android:layout_
android:id="@+id/mainScroll"
android:scrollbars="none" <!-- line to be added -->
>
【讨论】:
你能告诉我如何处理 onScrollChanged 事件吗? 看到这个问题可能会有所帮助。 ***.com/questions/4263053/… 滚动功能不适用于此解决方案 android:scrollbarSize="0dp" 使用滚动条="none" 有时不允许用户滚动【参考方案2】:这将隐藏滚动条棒,但滚动条不会被禁用
android:scrollbarThumbVertical="@null"
android:scrollbarThumbHorizontal="@null"
这将禁用滚动条
android:scrollbars="none"
【讨论】:
android:scrollbars="none"
不会禁用滚动条。您可以滚动但只是隐藏`滚动视图棒`【参考方案3】:
在 XML 集中 android:scrollbars="none"
【讨论】:
你能告诉我如何处理 onScrollChanged 事件吗? 滚动功能不适用于此解决方案 你知道为什么这会使视图无法滚动吗?【参考方案4】:试试这个,它也有效...
android:scrollbarThumbVertical="@null"
或
android:scrollbarThumbHorizontal="@null"
【讨论】:
【参考方案5】:根据我的经验,
android:scrollbarThumbVertical="@null"
可能在旧设备中导致 NullPointerException。改用这个:
android:scrollbarThumbVertical="@android:color/transparent"
干杯!
【讨论】:
【参考方案6】:您必须尝试以下解决方案
android:scrollbars="none"
或
android:scrollbarThumbVertical="@null"
android:scrollbarThumbHorizontal="@null"
或更改滚动条的颜色以隐藏它们
android:scrollbarThumbVertical="@android:color/transparent"
【讨论】:
【参考方案7】:在 XML 布局中,添加这个属性:
android:scrollbarSize="0dp"
【讨论】:
【参考方案8】:要隐藏垂直滚动条,请在 XML 中执行此操作:
android:scrollbarThumbVertical="@null"
为了隐藏水平滚动条,这样做:
android:scrollbarThumbHorizontal="@null"
如果您想隐藏滚动条而不禁用它,上述代码行将起作用。
要禁用滚动条,请这样写:
android:scrollbars="none"
【讨论】:
【参考方案9】:现在如果你设置android:scrollbars="none"
,滚动就不再起作用了
我已经解决了问题
android:scrollbars="vertical" // or horizontal
并将其大小设置为 0 dp
android:scrollbarSize="0dp"
【讨论】:
【参考方案10】:如果您正在制作“自定义”HorizontalScrollView,那么您应该像这样在代码中设置这些属性
this.scrollBarSize = 0
this.isHorizontalScrollBarEnabled = false
这是我工作的唯一方法。
【讨论】:
【参考方案11】:Kotlin 解决方案
如果您需要以编程方式执行此操作,您可以设置以下一项或两项:
scrollView.isHorizontalScrollBarEnabled = false
scrollView.isVerticalScrollBarEnabled = false
如果您要定期同时应用这两者,请尝试添加此扩展程序
fun ScrollView.noScrollbars()
isHorizontalScrollBarEnabled = false
isVerticalScrollBarEnabled = false
为了方便切换,您可以添加一个可选的布尔值
fun ScrollView.noScrollbars(hide: Boolean = true)
isHorizontalScrollBarEnabled = !hide
isVerticalScrollBarEnabled = !hide
【讨论】:
以上是关于在 ScrollView 中隐藏滚动条的主要内容,如果未能解决你的问题,请参考以下文章
如何在 NativeScript 中隐藏 ScrollView 的滚动条?