我在清单中使用android:theme=@style/AppTheme
作为应用程序元素。 style.xml
文件将此样式定义为
<style name="AppTheme" parent="@style/Theme.AppCompat">
所以我希望活动和菜单选项的背景默认是黑暗的,但它是白色的。我没有在布局中定义任何背景属性。有什么问题?
以下是我对Android资源的分析:
根据support themes.xml,@style/Theme.AppCompat
或其父@style/Theme.Base.AppCompat
中没有定义背景颜色。
所以我在base themes.xml查看他们的父@android:style/Theme
。我看到下面的元素:
<item name="colorBackground">@android:color/background_dark</item>
background_dark
的确切颜色为#ff000000
醇>
为什么Android不在我的活动中使用这种颜色?
答案 0 :(得分:1)
问题在于styles.xml
中的values-v11
和values-v14
正在使用Theme.AppCompat.Light
。
由于我的手机有API 19,因此它会从values
文件夹中获取这些主题,而styles.xml
文件夹的Theme.AppCompat
位于{{1}}。
答案 1 :(得分:0)
我在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);
});