我想创建一堆View
,其上下文基于某种样式,但也基于一些动态计算的替代。我想创建一个Context
来封装所有内容,以便将其传递给各种不同的View
构造函数。
为了使我的问题更加完整,没有动态部分,我将使用ContextThemeWrapper
,如下所示:
// in my onCreate
Context styling = new ContextThemeWrapper(this, R.style.TextBase_OutputText);
View v1 = TextView(styling);
View v2 = Button(styling);
// and so on
但我想这样做:
// in onCreate
Context styling = new ContextWrapperThatImLookingFor(new ContextThemeWrapper(this, R.style.TextBase_OutputText));
styling.addOverride(textColor, computeForegroundColorDynamically()); // ???
View v1 = TextView(styling);
// and so on
我该如何实现?
(请注意,该问题与Android平台有关,而不与注释者建议的任何Kotlin或Java语言功能有关– ContextWrapperThatImLookingFor
是{{1}的简单子类},我可以向其添加替代,然后将其应用于随后使用该上下文创建的Context
。