【3】windowNoTitle 和 android:windowNoTitle的区别

来源:互联网 发布:php读取access数据库 编辑:程序博客网 时间:2024/06/15 18:31
        <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主题及其子主题),经过测试发现:

  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">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>
3 0
原创粉丝点击