【问题标题】:Extending styles and themes confusion扩展样式和主题混乱
【发布时间】:2011-10-06 09:20:08
【问题描述】:

在我的清单中,我曾经有类似的东西

<activity android:name=".MyActivity"
     android:label="@string/app_name"
        name="Theme.NoTitleBar"...

效果很好,我的意思是标题栏没有显示。

但是现在我想自定义主题(我想扩展默认的android主题) 我创建了这个主题

<style name="Theme.NoTitleBar.new_skin" parent="android:Theme">
        <item name="text_body_read">@style/text_body_read</item>
        <item name="text_body_unread">@style/text_body_unread</item>
    </style>

然后在清单中我设置了name="Theme.NoTitleBar.new_skin",但标题栏仍然显示。

如何隐藏标题栏并仍然拥有我的新自定义主题?

还有一个问题确实添加了点“。”意味着在使用样式时进行扩展?

【问题讨论】:

    标签: android layout coding-style themes extending


    【解决方案1】:

    在你的 mainfest 中你应该这样写:

    <activity android:name=".MyActivity"
         android:label="@string/app_name"
            name="MyTheme"...
    

    在你的styles.xml中你应该写这样的:

    <style name="MyTheme" parent="android:Theme.NoTitleBar">
            <item name="text_body_read">@style/text_body_read</item>
            <item name="text_body_unread">@style/text_body_unread</item>
     </style>
    

    点 (.) 并不意味着扩展。这意味着在您的主题中引用某个元素(列表视图、文本视图等)。例如,您会:

    <style name="MyTheme.Widget.ListView" parent="@android:style/Widget.ListView.White">
    </style>
    

    定义列表视图的样式。

    【讨论】:

    • 问题是我的清单中有 name="MyTheme" 和样式中有 parent="android:Theme.NoTitleBar" 但标题栏仍然可见
    • 试试这个: 1. 在你的主题样式中添加:@style/MyTheme.WindowTitleBackground 2. 创建一个新样式:
    • 它给了我一个错误,它找不到 parent="android:WindowTitleBackground,但是背景有什么意义?我只需要隐藏标题栏
    • 它使您的标题不可见。
    • eclipse 抱怨 parent="android:WindowTitleBackground",它说没有找到资源...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-20
    • 2019-01-26
    • 1970-01-01
    • 2019-04-02
    • 1970-01-01
    相关资源
    最近更新 更多