setTheme(小故障)Android上的GUI问题

setTheme(小故障)Android上的GUI问题,android,android-layout,kotlin,Android,Android Layout,Kotlin,我正在编写一个应用程序。我们有时间,所以我想额外增加一个黑暗模式。(不是白天/晚上,只是内部设置)我用属性定义了主题,比如TextColor,我用?attr/TextColor实现了我的风格 attrs.xml <resources> <attr name="TextColor" format="reference" /> <attr name="BackGroundColor" format="reference" /> <attr name="Lig

我正在编写一个应用程序。我们有时间,所以我想额外增加一个黑暗模式。(不是白天/晚上,只是内部设置)我用属性定义了主题,比如TextColor,我用?attr/TextColor实现了我的风格

attrs.xml

<resources>
<attr name="TextColor" format="reference" />
<attr name="BackGroundColor" format="reference" />
<attr name="LightTextColor" format="reference" />
</resources>
我还使用动态输出。我添加我需要的单选按钮。我设置的样式如下:

var reasonRadioButton = RadioButton(ContextThemeWrapper(this, R.style.CheckBox)).apply {
                        text = reason
                    }
reasonRadioGroup.addView(reasonRadioButton)
风格:

<style name="CheckBox">
    <item name="android:padding">8dip</item>
    <item name="android:textColor">@drawable/radio_button</item>
    <item name="android:buttonTint">?attr/TextColor</item>
    <item name="colorControlNormal">?attr/TextColor</item>
    <item name="colorAccent">@color/colorPrimary</item>
    <item name="android:textColorSecondary">?attr/BackGroundColor</item>
</style>

8dip
@可拖动/单选按钮
?属性/文本颜色
?属性/文本颜色
@颜色/原色
?属性/背景色
(@drawable/radio_按钮对我不起作用,因为我无法在选择器XML中设置attr,只需“android:textColor”>?attr/textColor会很好-我会得到它!) 在主题样式中,我设置了这个自定义属性。(黑白)

但是现在,当我设置主题(R.style.DarkMode)时,它得到。。。搞砸了!(在所有动态生成的布局上)

在我的正常主题中,行为是正确的:(在动态方面也是一样的):

我担心的是故障,这真的很奇怪。
你知道我为什么行为不端吗?

这似乎是个错误。。。在安卓6(xCover 3)上没问题,在安卓9(诺基亚6.1)上会出现故障。我为API 23开发。 但是

在黑暗模式中,我用十六进制表示颜色

<item name="android:colorBackground">@color/strongText</item>

看起来像一个具有透明背景的片段,您在事务中使用了
add
而不是
replace
,因此前一个片段仍然存在,现在它正在显示出来。这不是一个片段,这是一个缩进的活动,两个屏幕的加载方式相同。即使当我在应用程序中更改主题并返回(prefs)时,它也会在第一个主题上工作,当我切换主题(DarkMode)(在带有attr的样式中)时,这种行为也是错误的。fE。选择ExtraInfo(“Sonstige Begründung”),它会弹出(addView)编辑文本,但不会在主题暗模式下展开布局。(小故障)添加了ExtraInfo,只是设置了可见性…(消失/可见)…把DarkModeHex上的一切都搞砸了对于新的Androidversions来说是糟糕的,背景设置->overlayI我只是很遗憾:#555555从来没有工作过,只是旧版本不在乎#555555必须看起来像lightdarkgray而不是黑色(没有价值),如截图所示,我应该删除这篇文章,我让它成为快速和肮脏的表意文字,就像我一样!
<style name="CheckBox">
    <item name="android:padding">8dip</item>
    <item name="android:textColor">@drawable/radio_button</item>
    <item name="android:buttonTint">?attr/TextColor</item>
    <item name="colorControlNormal">?attr/TextColor</item>
    <item name="colorAccent">@color/colorPrimary</item>
    <item name="android:textColorSecondary">?attr/BackGroundColor</item>
</style>
<item name="android:colorBackground">@color/strongText</item>
  <style name="CheckBox">
    <item name="android:padding">8dip</item>
    <item name="android:textColor">?attr/TextColor</item>
    <item name="colorControlNormal">?attr/TextColor</item>
    <item name="colorAccent">@color/colorPrimary</item>
    <item name="android:textColorSecondary">?attr/BackGroundColor</item>
    <item name="android:textColorHint">?attr/TextColor</item>
</style>
var reasonRadioButton = RadioButton(ContextThemeWrapper(this, R.style.CheckBox)).apply {
                        text = reason
                        setTextAppearance(R.style.CheckBox)
                    }