android:ScrollView对于不同的API级别有不同的默认背景吗?

android:ScrollView对于不同的API级别有不同的默认背景吗?,android,scrollview,Android,Scrollview,我有一个滚动视图,里面有一些孩子 对于API 23,滚动视图的背景为白色。但对于API 22及以下版本,背景为灰色。我没有用xml或代码设置背景。所有剩余的默认值。活动和片段在布局xml中也具有默认背景。默认情况下,活动主题为theme.Holo.Light.NoActionBar,v21的活动主题为theme.Material.Light.NoActionBar 我在电视上看到: 三星note 5和6.0.0:白色 android仿真器Nexus 6P和6.0.0:white 带5.1.1的三

我有一个
滚动视图
,里面有一些孩子

对于API 23,滚动视图的背景为白色。但对于API 22及以下版本,背景为灰色。我没有用xml或代码设置背景。所有剩余的默认值。活动和片段在布局xml中也具有默认背景。默认情况下,活动主题为theme.Holo.Light.NoActionBar,v21的活动主题为theme.Material.Light.NoActionBar

我在电视上看到:

三星note 5和6.0.0:白色

android仿真器Nexus 6P和6.0.0:white

带5.1.1的三星s6:灰色

android仿真器Nexus 6P和5.1.1:灰色

小米4 LTE和4.4.4:灰色

android仿真器Nexus 6P和4.4.4:灰色

基于以上测试,我猜背景与API级别有关

如果我在xml中将背景设置为白色,对于API 22及以下版本,我可以看到白色背景


有什么想法吗?

如果您没有提供明确的颜色,它可能会采用设备默认主题的颜色。它不取决于API级别,而是取决于设备主题。 因此,您也可能在两个不同的设备上看到相同API级别的不同颜色。
因此,如果您希望在所有设备上保持一致,建议您明确设置所需的颜色。

在不同android API的相同背景下,在您的样式中尝试以下操作:

<item name="android:windowBackground">@color/background</item>
@颜色/背景

共享您的xml代码我认为这与某些API级别无关。我想这有点设备专用。我从来没有真正面对过这个问题,因为我总是设置一个合适的背景色。我想这也是建议这样做的。我敢打赌
ScrollView
在所有API级别上都是透明的,你看到的不是父级的背景吗?@pskink所有的活动和片段都没有设置背景,都保留默认值。所以是根窗口有背景,而不是
ScrollView
,它最有可能是android:windowBackground,但我不是100%肯定是的!为我想要的显式设置值。谢谢。但我想知道为什么不同API级别的颜色会发生变化,请参阅我的文章中的测试设备。因为每个API级别都有一个特定的主题,例如holo.light或holo.dark等。根据该API的主题,颜色会发生变化。不同的设备也有相同的情况。如果要使组件颜色主题独立,必须使用显式颜色。这似乎是合理的。但是我真的不认为简单背景的主题会有这么大的不同…背景的主题不会有什么不同,但是一般来说,设备的主题是不同的。因此,一个主题的默认颜色可能与另一个主题的默认颜色不同。因此,我们可能会看到不同的背景色,或者任何其他组件的颜色都是默认颜色。