是否可以在Android中从自定义视图禁用特定的XML属性?

是否可以在Android中从自定义视图禁用特定的XML属性?,android,listview,scrollbars,xml-attribute,custom-widgets,Android,Listview,Scrollbars,Xml Attribute,Custom Widgets,我通过扩展列表视图本身来创建自己的个性化列表视图。这个特定的ListView不应该有滚动条 如何禁用自定义列表视图的XMLandroid:scrollbars属性 我找不到通过编程禁用它们的方法。我错过了什么 dzeikei的答案将以编程方式禁用滚动条,并忽略android:scrollbars中的任何值,但我在1上真正要问的是什么。是如何使android:scrollbars成为自定义组件的无效属性。已更新 好的,正如Richardo所发现的,似乎我的原始答案是相反的,因为滚动条是在内部显示的

我通过扩展
列表视图
本身来创建自己的个性化列表视图。这个特定的ListView不应该有滚动条

  • 如何禁用自定义
    列表视图的XML
    android:scrollbars
    属性
  • 我找不到通过编程禁用它们的方法。我错过了什么
  • dzeikei的答案将以编程方式禁用滚动条,并忽略android:scrollbars中的任何值,但我在1上真正要问的是什么。是如何使android:scrollbars成为自定义组件的无效属性。

    已更新 好的,正如Richardo所发现的,似乎我的原始答案是相反的,因为滚动条是在内部显示的:)

    正确的方法是打电话
    super.setHorizontalScrollBarEnabled(false)
    super.setVerticalScrollBarEnabled(false)
    并重写
    setHorizontalScrollBarEnabled()
    setVerticalScrollBarEnabled()
    不执行任何操作:D

    覆盖
    isHorizontalScrollBarEnabled()
    isVerticalScrollBarEnabled()
    在子类中返回
    false

    您还可以覆盖
    setHorizontalScrollBarEnabled()
    setVerticalScrollBarEnabled()
    用于良好测量


    尝试为android:scrollbars保留@null。我不确定。但是,当我想从XML属性中删除任何内容时,我通常使用@null。

    谢谢。但我的主要问题是关于问题标题指定的XML属性。我只想说清楚,我知道重写这些方法会奏效,但我想问的是,是否有办法使
    android:scrollbars
    对我的自定义组件无效。也许我应该在问题中澄清一下……我非常确定
    的工作原理与方法声明类似,您不能取消声明子类中的某些内容。不过,欢迎你证明我错了:)我刚刚测试了你的建议,并重写了
    isHorizontalScrollBarEnabled()
    isVerticalScrollBarEnabled()
    以返回false。没有做任何事情,滚动条仍然显示。实际上,我必须调用构造函数上的
    set
    方法并将它们设置为false。但是为了防止它们被设置为true,我需要覆盖
    set
    方法并始终将它们设置为false。请在您认为合适的时候更新您的答案。对不起,我想到了带有自定义适配器的普通ListView。