<item name="windowNoTitle">false</item>
<item name="windowActionBar">false</item>
<item name="android:windowNoTitle">false</item>
<item name="android:windowActionBar">false</item>
AppCompatActivity中出现了windowNoTitle属性,并且前边不需要加“android:”
其实windowNoTitle是appcompat-v7中的属性在appcompat-v7\res\values\values.xml中定义的。
打开appcompat-v7\res\values\values.xml搜索AppCompatTheme
在<declare-styleable name="AppCompatTheme">中可以找到定义的“windowNoTitle”“windowActionBar”等属性。
“windowNoTitle”属性在代码中可以使用R.attr.windowNoTitle访问,
“android:windowNoTitle”则需要使用android.R.attr.windowNoTitle访问。
使用AppCompatActivity时(Activity必须使用Theme.AppCompat主题及其子主题),经过测试发现:
“android:windowActionBar”属性在AppCompatActivity中不起作用;
windowNoTitle = false 并且 android:windowNoTitle = false 时,会出现两个标题,位于下方的是AppCompatActivity的标题栏。
当windowNoTitle = false , windowActionBar = false 时,会报错: AppCompat does not support the current theme features
windowNoTitle = true并且 android:windowNoTitle = true时 ,无标题。
Theme.AppCompat主题默认的属性值:
<item name="android:windowNoTitle">true</item>
<item name="android:windowActionBar">false</item>
<item name="windowNoTitle">false</item>
<item name="windowActionBar">true</item>
V-21
<style name="Platform.AppCompat.Light" parent="android:Theme.Material.Light">
<item name="android:windowNoTitle">true</item>
<item name="android:windowActionBar">false</item>
<style name="Base.V7.Theme.AppCompat.Light" parent="Platform.AppCompat.Light">
<item name="windowNoTitle">false</item>
<item name="windowActionBar">true</item>
<item name="windowActionBarOverlay">false</item>
<item name="windowActionModeOverlay">false</item>
网友评论