Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 为什么theme.appcompat提供白色背景_Android_Android Source - Fatal编程技术网

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
    问题-我真的忘了@你是对的,这是操作系统版本的问题。看看我的答案。