我正在玩ObjectAnimator
,并创建了一个简单的可绘制对象。
// In my drawable file
fun setMyCustomParameter(...) {
blah blah blah
}
要运行动画,我具有以下对象动画制作器:
val orreryAnimator = ObjectAnimator.ofObject(
myDrawable,
"MyCustomParameter",
drawableEvaluator, // irrelevant
startValues, // irrelevant
endValues // irrelevant
)
现在"MyCustomParameter"
是一个与我的方法setMyCustomParameter
匹配的硬编码字符串值。问题是,如果我不希望手动匹配它,因为如果我不小心拼错了,那么该代码将仍然运行,但动画无效。我想问一下是否有一种方法可以将方法setMycustomParameter
用作字符串,这样即使在以后在代码上更改方法名称的情况下,我也可以保证即使我在运行时也不必记住更改字符串值。 / p>
答案 0 :(得分:2)
您可以:myDrawable::setMyCustomParameter
为您提供对该方法的引用,该方法的名称为:myDrawable::setMyCustomParameter.name
。
请参阅文档中的Callable References。
此外,如果您有getMyCustomParameter
和setMyCustomParameter
,则可能需要将其修改为具有自定义getter and setter的属性:
var myCustomParameter: Type
get() = ...
set(value: Type) { ... }