我有一个TextButton,我想禁用它。 我使用默认皮肤。
我已经了解到:
setDisabled
什么都不做setTouchable(Touchable.disabled)
有效但外观无效我检查了uiskin.json
文件,但它只定义了up
和down
个状态,而没有关于禁用状态:
com.badlogic.gdx.scenes.scene2d.ui.TextButton$TextButtonStyle: {
default: { down: default-round-down, up: default-round, font: default-font, fontColor: white },
toggle: { down: default-round-down, up: default-round, checked: default-round-down, font: default-font, fontColor: white, downFontColor: red }
},
我该怎么办?我禁用它时创建一个新样式并将其应用于按钮?或者我应该使用内置状态吗?
答案 0 :(得分:2)
创建新样式或添加到现有样式之一。您可以定义名为disabled
的背景可绘制和disabledFontColor
的字体颜色。如果从样式中省略其中任何一个,那么当您调用setDisabled
时,该特定元素不会发生变化。
答案 1 :(得分:0)
setDisabled
有效!您没有注意到外观突然改变的原因是您没有在skin.JSON文件中或以编程方式配置禁用按钮的状态。
Cobolfoo为您创建了一个皮肤编辑器,供您与libGDX一起使用。最后一次提交是2年前,但从那以后没有任何改变,皮肤编辑器应该完美无缺。
我强烈建议你去看看它,因此摆弄皮肤文件只是浪费时间。