自定义视图的互斥样式属性?

时间:2013-01-09 19:04:57

标签: android attr android-custom-view

我在attrs.xml中的样式中有2个属性(以及许多其他属性)。

考虑到这两个:

 <attr name="enableScrolling" format="boolean"/>
 <attr name="showPadlock" format="boolean"/>

有没有办法让它们相互排斥?该设计用于与图表一起显示的通用比例。通用比例实例的具体用例是,如果启用了滚动,则比例显示挂锁图标,该图标在锁定和解锁之间切换,并在运行时禁用/启用滚动。

如果enableScrolling为false,则显示挂锁没有意义。我在代码中处理这个问题,但如果我能用某种方式传达XML中的语义,那将会更加清晰。

我猜测答案是否定的,因为IDE中没有用于处理它的UX范例,但我欢迎任何想法。

感谢。

1 个答案:

答案 0 :(得分:1)

您有3种方式:

  • 如果没有意义,就忽略showPadlock
  • 检查代码中的属性。如果发现组合无效,则显示警告消息或抛出异常。
  • 创建枚举attr。例如:

    &lt; attr name =“scrollType”&gt;

    &lt; enum name =“simpleScroll”value =“1”/&gt;

    &lt; enum name =“scrollWithPadlock”value =“2”/&gt;

    &lt; enum name =“none”value =“3”/&gt;

    &LT; / ATTR&GT;