美文网首页
windowNoTitle 和 android:windowNo

windowNoTitle 和 android:windowNo

作者: 瑜小贤 | 来源:发表于2019-10-24 15:19 被阅读0次
<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>

相关文章

网友评论

      本文标题:windowNoTitle 和 android:windowNo

      本文链接:https://www.haomeiwen.com/subject/gtfdvctx.html