具有以编程方式覆盖的设置的上下文

时间:2018-07-02 15:09:53

标签: java android kotlin android-context android-styles

我想创建一堆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

0 个答案:

没有答案