android: ScrollView 是否针对不同的 API 级别有不同的默认背景?
android: does ScrollView has different default backgrounds for different API level?
我有一个 ScrollView
,里面有一些 children。
对于 API 23,ScrollView
具有白色背景。但对于 API 22 及以下,背景为灰色。我没有在 xml 或代码中设置背景。其余全部默认。 Activity 和 fragment 在布局中也有默认背景 xml。 Activity 主题默认为 Theme.Holo.Light.NoActionBar,v21 为 Theme.Material.Light.NoActionBar。
我在以下时间看到了这个:
samsung note 5 with 6.0.0: white
android emulator Nexus 6P with 6.0.0: white
samsung s6 with 5.1.1: gray
android emulator Nexus 6P with 5.1.1: gray
Xiaomi 4 LTE with 4.4.4: gray
android emulator Nexus 6P with 4.4.4: gray
根据上面的测试,我猜测背景与API级别有关。
如果我在 xml 中将背景设置为白色,对于 API 22 及以下,我可以看到白色背景。
有什么想法吗?
如果您没有提供明确的颜色,它可能会采用设备默认主题中的颜色。它不依赖于 API 级别,而是设备主题。
因此,您也有可能在两个不同的设备上看到相同 API 级别的不同颜色。
因此,如果您想在所有设备上保持一致,始终建议您明确设置您想要的颜色。
在您的样式中尝试使用此方法在不同 android API:
中使用相同的背景
<item name="android:windowBackground">@color/background</item>
我有一个 ScrollView
,里面有一些 children。
对于 API 23,ScrollView
具有白色背景。但对于 API 22 及以下,背景为灰色。我没有在 xml 或代码中设置背景。其余全部默认。 Activity 和 fragment 在布局中也有默认背景 xml。 Activity 主题默认为 Theme.Holo.Light.NoActionBar,v21 为 Theme.Material.Light.NoActionBar。
我在以下时间看到了这个:
samsung note 5 with 6.0.0: white
android emulator Nexus 6P with 6.0.0: white
samsung s6 with 5.1.1: gray
android emulator Nexus 6P with 5.1.1: gray
Xiaomi 4 LTE with 4.4.4: gray
android emulator Nexus 6P with 4.4.4: gray
根据上面的测试,我猜测背景与API级别有关。
如果我在 xml 中将背景设置为白色,对于 API 22 及以下,我可以看到白色背景。
有什么想法吗?
如果您没有提供明确的颜色,它可能会采用设备默认主题中的颜色。它不依赖于 API 级别,而是设备主题。 因此,您也有可能在两个不同的设备上看到相同 API 级别的不同颜色。 因此,如果您想在所有设备上保持一致,始终建议您明确设置您想要的颜色。
在您的样式中尝试使用此方法在不同 android API:
中使用相同的背景<item name="android:windowBackground">@color/background</item>