反向背景的样式/ attr/drawable是什么?

Joc*_*kel 5 android android-layout

我尝试创建一个ExpandableListView,其中组标题是反向绘制的.通过XML更改文本颜色,大小等没有问题.我甚至发现了如何使用系统默认值

<TextView  xmlns:android="http://schemas.android.com/apk/res/android"
    style="@android:style/TextAppearance.Medium.Inverse"
/>
Run Code Online (Sandbox Code Playgroud)

但对于背景颜色?!我不明白为什么这些样式不包含背景颜色信息?!

当然我可以使用直接颜色,但我寻找好的默认背景属性或样式.喜欢"style/Background.For.TextAppearance.Medium.Inverse";-)

什么是一个好的解决方案?因此,对于黑暗主题设备,我得到白色/灰色,而对于白色主题,我变黑了?

或者我应该只使用R.color.background_light?

问候,Joerg

PS:这里的第一个问题;-)对所有在过去几个月和几年回答的人们表示感谢:优秀的人们让我在12年的休息后更容易找到重新进入编程;-)

Jay*_*ske 0

正如您所观察到的,名称中带有“TextAppearance”的样式仅影响视图的前景文本属性。它们适合该android:textAppearance属性。名称中带有“Widget”的样式定义了所有 UI 属性,并将在属性中工作style,但 Android 没有定义“Widget.TextView.Inverse”样式。

当我想将类似控制台的日志显示为反向文本视图时,我使用了以下 XML:

<TextView
    android:textAppearance="@style/TextAppearance.AppCompat.Small.Inverse"
    android:background="?android:colorForeground"
    ... />
Run Code Online (Sandbox Code Playgroud)

它使用主题的前景色作为视图的背景。使用深色主题时,它会在白色上显示深色文本,而在浅色主题中,它会在黑色上显示浅色文本。