【问题标题】:Hide scrollbar in ScrollView在 ScrollView 中隐藏滚动条
【发布时间】:2012-03-18 15:35:35
【问题描述】:

我有一个带有 ScrollView 的应用程序,我不希望滚动条出现在屏幕上。如何在确保滚动仍然有效的同时隐藏 ScrollView 中的滚动条?

【问题讨论】:

标签: android android-scrollview


【解决方案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_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/mainScroll"
android:scrollbars="none" <!-- line to be added -->
>

【讨论】:

  • 你能告诉我如何处理 onScrollChanged 事件吗?
  • 看到这个问题可能会有所帮助。 stackoverflow.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】:

              如果您正在制作“自定义”Horizo​​ntalScrollView,那么您应该像这样在代码中设置这些属性

              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
                }
                

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 1970-01-01
                  • 2013-11-04
                  • 2011-10-28
                  • 2015-03-16
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  相关资源
                  最近更新 更多