【3】windowNoTitle 和 android:windowNoTitle的区别

        <item name="windowNoTitle">falseitem>
        <item name="windowActionBar">falseitem>
        <item name="android:windowNoTitle">falseitem>
        <item name="android:windowActionBar">falseitem>

AppCompatActivity中出现了windowNoTitle属性,并且前边不需要加“android:”

其实windowNoTitle是appcompat-v7中的属性在appcompat-v7\res\values\values.xml中定义的。
打开appcompat-v7\res\values\values.xml搜索AppCompatTheme
中可以找到定义的“windowNoTitle”“windowActionBar”等属性。

“windowNoTitle”属性在代码中可以使用R.attr.windowNoTitle访问,
“android:windowNoTitle”则需要使用android.R.attr.windowNoTitle访问。



使用AppCompatActivity时(Activity必须使用Theme.AppCompat主题及其子主题),经过测试发现:

  1. “android:windowActionBar”属性在AppCompatActivity中不起作用;
  2. windowNoTitle = false 并且 android:windowNoTitle = false 时,会出现两个标题,位于下方的是AppCompatActivity的标题栏。
  3. 当windowNoTitle = false , windowActionBar = false 时,会报错: AppCompat does not support the current theme features
  4. windowNoTitle = true并且 android:windowNoTitle = true时 ,无标题。


    Theme.AppCompat主题默认的属性值:
    <item name="android:windowNoTitle">trueitem>
    <item name="android:windowActionBar">falseitem>
    <item name="windowNoTitle">falseitem>
    <item name="windowActionBar">trueitem>
V-21