Android 为什么theme.appcompat提供白色背景
我对清单中的应用程序元素使用了Android 为什么theme.appcompat提供白色背景,android,android-source,Android,Android Source,我对清单中的应用程序元素使用了android:theme=@style/AppTheme。style.xml文件将此样式定义为 <style name="AppTheme" parent="@style/Theme.AppCompat"> 因此,我希望活动和菜单选项的背景默认为黑色,但它是白色的。我没有在布局中定义任何背景属性。有什么问题 以下是我对Android源代码的分析: 根据,在@style/Theme.AppCompat或其父级@style/Theme.Base.Ap
android:theme=@style/AppTheme
。style.xml
文件将此样式定义为
<style name="AppTheme" parent="@style/Theme.AppCompat">
因此,我希望活动和菜单选项的背景默认为黑色,但它是白色的。我没有在布局中定义任何背景属性。有什么问题
以下是我对Android源代码的分析:
@style/Theme.AppCompat
或其父级@style/Theme.Base.AppCompat
中未定义背景色@android:color/background\u dark
background\u dark
的确切颜色是\ff000000
,根据为什么Android没有在我的活动中使用这种颜色?问题在于
values-v11
和values-v14
中的style.xml
使用了Theme.AppCompat.Light
因为我的手机有API 19,所以它会从
values
文件夹中拾取这些主题,而不是从style.xml
和Theme.AppCompat
文件夹中,当我在onCreate
方法中更改主题时,我也会遇到同样的问题
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
updateTheme();
setContentView(R.layout.activity_blablabla);
}
我通过updateTheme
和super.onCreate
@Override
protected void onCreate(Bundle savedInstanceState) {
updateTheme();
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_blablabla);
});
我认为在不同的操作系统版本中,颜色的定义是不同的(例如:
@android:color/background\u dark
)。试着定制你的主题,给它你想要的颜色。而且+1用于发现值-1x
问题-我真的忘了@你是对的,这是操作系统版本的问题。看看我的答案。