如何禁用和启用 android ScrollView 上的滚动? [复制]

2023-12-30

我是一名android开发人员。我也想使用ScrollView。这个ScrollView需要一段时间禁用滚动,一段时间启用滚动。但是我无法禁用滚动。如何实现它。请帮助我。我还尝试使用一些代码,例如 s

fullparentscrolling.setHorizontalFadingEdgeEnabled(false);
fullparentscrolling.setVerticalFadingEdgeEnabled(false);

or

 fullparentscrolling.setEnabled(false);

但这不起作用。


试试这个方法

像这样创建您的 CustomScrollview

import android.content.Context;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.widget.ScrollView;

public class CustomScrollView extends ScrollView {

    private boolean enableScrolling = true;

    public boolean isEnableScrolling() {
        return enableScrolling;
    }

    public void setEnableScrolling(boolean enableScrolling) {
        this.enableScrolling = enableScrolling;
    }

    public CustomScrollView(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
    }

    public CustomScrollView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public CustomScrollView(Context context) {
        super(context);
    }

    @Override
    public boolean onInterceptTouchEvent(MotionEvent ev) {

        if (isEnableScrolling()) {
            return super.onInterceptTouchEvent(ev);
        } else {
            return false;
        }
    }
    @Override
    public boolean onTouchEvent(MotionEvent ev) {
       if (isEnableScrolling()) {
            return super.onTouchEvent(ev);
       } else {
           return false;
       }
}
}

在你的xml中

// 将“com.example.demo”替换为您的包名

<com.example.demo.CustomScrollView
        android:id="@+id/myScroll"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >
    </com.example.demo.CustomScrollView>

在您的活动中

CustomScrollView myScrollView = (CustomScrollView) findViewById(R.id.myScroll);
        myScrollView.setEnableScrolling(false); // disable scrolling
        myScrollView.setEnableScrolling(true); // enable scrolling
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何禁用和启用 android ScrollView 上的滚动? [复制] 的相关文章

随机推荐

  • 在颤振中打开文件的正确方法?

    我正在寻找一种在颤振中打开文件的方法 具体来说是PDF 我到处发现 打开文件 https pub dev packages open file但它似乎已被弃用 插件 open file 使用已弃用的 Android 嵌入版本 为了避免意外的
  • 使用类似 bash 的环境变量引用插入字符串

    我的 Golang CLI 工具有一个输入字符串 其中包含一些对 bash 语法中的环境变量的引用 VAR and VAR e g HOME somedir SOME VARIABLE dir anotherdir ANOTHER VARI
  • C# 反射 - 加载程序集并调用方法(如果存在)

    我想加载一个程序集 其名称存储在字符串中 使用反射来检查它是否有一个名为 CustomType MyMethod byte a int b 的方法 然后调用它或抛出异常 我想我应该做这样的事情 但如果有人能就如何最好地做到这一点提供相同的建
  • 设置UIView子类的背景颜色不起作用

    我正在尝试更改 UIView 子类之一的背景颜色 因为某些原因self backgroundColor UIColor whiteColor 当我把它放在我的 id initWithFrame CGRect frame视图内的方法 视野始终
  • 调试仅生产错误的过程是什么?

    首先我要说的是 我对这个话题非常无知 我什至不知道这个问题是否有客观的答案 如果最终结果是 不 我将删除或投票关闭该帖子 场景如下 我刚刚编写了一个小 Web 服务 它可以在我的机器上运行 它可以在我团队领导的机器上运行 据我所知 它可以在
  • RtsEnable 或 DtrEnable 属性是否发送信号?

    我想知道如果我将这些放入代码中 计算机是否会向设备发送任何类型的信号 SerialPort myport new SerialPort COM1 myport DtrEnable true myport RtsEnable true 我需要
  • 无法在 Mac 上使用 ARC 来使用 respondsToSelector

    当我打电话时respondsToSelector在 ARC 环境中 我收到以下错误消息Automatic Reference Counting Issue No known instance method for selector resp
  • sqlite3:在 Windows 10 上找不到命令 Python 3

    我在Windows 10上安装了Python 3 6 5 我看到 Python Python36 Lib目录中有一个sqlite3文件夹 我将Python PATH 添加到环境变量中 但是 我无法从 Powershell 或 Git Bas
  • 关于C++复制构造函数调用的问题

    我试图找出这两行代码之间的区别 我们得到的 Count 是我们的类名 C1 和 C2 是该类的对象 没有给出如何以及何时声明这些类的信息 Count C2 C1 Statement 1 Count C2 C1 Statement 2 没有提
  • PHP 从函数中获取变量

    function first foreach list as item variable item gt ID item gt title gives varible 10 some text 10 can be replaced with
  • 使用密钥大小小于 2048 的 RSA 安全密钥创建 JWT 令牌时出错

    我在尝试创建时遇到异常JWT https jwt io C Web API 应用程序中的令牌 测试环境 平台 带有 net框架的Windows 10 x64 4 6 1 jwt NuGet 包 System IdentityModel To
  • Vuejs 3 和 Bootstrap 5 模态可重用组件以编程方式显示

    尝试使用 vuejs 3 和可组合 API 创建一个基于 Bootstrap 5 的 半 可重用模态组件 设法让它部分工作 给定 主要是标准 Bootstrap 5 模式 但基于 show 属性添加类 以及正文和页脚中的插槽
  • 出于验证目的迭代方法的参数

    我一直在想 能够做这样的事情会很有用 例如 检查参数是否为空引用并最终抛出异常 这将节省一些输入 并且如果添加了新参数 就不可能忘记添加检查 好吧 除非你算一下 public void Foo string x object y Strea
  • 在运行时获取布局高度和宽度android

    如何获取在 xml 中定义为 fill parent 的高度和宽度的线性布局的宽度和高度 我尝试过 onmeasure 方法 但我不知道为什么它没有给出准确的值 在 oncreate 方法完成之前 我需要在 Activity 中使用这些值
  • 训练误差和测试误差相差多少才被认为是合适的? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我正在研究回归问题 我使用 ad boost 和决策树进行回归 并使用 r 2 作为评估指标 我想知道训练 r 2 和测试 r 2 之间的差异有
  • 解析 Roslyn 中的参数类型

    我正在使用 Roslyn 来实现自定义业务规则 目前 我有点卡住了 我必须在调用方法时验证参数的类型 验证该方法正在被调用或包含参数时没有问题 我已经通过使用 GetSymbolInfo 来获取当前语法的符号来解析 IdentifierNa
  • 获取“sed 错误 - 非法字节序列”(在 bash 中)[重复]

    这个问题在这里已经有答案了 进行一些流编辑以更改令人讨厌的 Parallels 图标 它的开发很差 并且嵌入到应用程序本身中 而不是作为图像文件 所以我找到了这个 sed 命令 它有一些很好的反馈 sudo sed i bak s Para
  • Python:检查负数

    我试图向该字符串添加一段代码以检查第一个位置是否有负数 如果代码识别出负数 则应返回 False 我在用户输入命令中遇到 int 和 str 问题 抱歉 Python 新手 def is number S if s lt 0 print F
  • grails 2.3.4 与 Angular js 结合的智能文件夹结构

    在不使用 grails angularjs 插件的情况下 grails 2 3 4 与 angularjs 结合的智能文件夹结构是什么 目前我已将所有内容打包到webapp folder 组织目录的方法有很多 但是 我们使用的方式 我将其称
  • 如何禁用和启用 android ScrollView 上的滚动? [复制]

    这个问题在这里已经有答案了 我是一名android开发人员 我也想使用ScrollView 这个ScrollView需要一段时间禁用滚动 一段时间启用滚动 但是我无法禁用滚动 如何实现它 请帮助我 我还尝试使用一些代码 例如 s fullp