- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我在 res/values/styles.xml
中有以下主题:
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="AppBaseTheme" parent="@android:style/Theme.NoTitleBar">
</style>
<style name="AppTheme" parent="AppBaseTheme">
<item name="android:windowNoTitle">true</item>
</style>
</resources>
如果我删除 <item name="android:windowNoTitle">true</item>
行,我的 Activity 上面有标题栏。但是,如果我将该行保留在那里,那么它们就没有标题栏(这正是我想要的)。
我很好奇为什么parent="@android:style/Theme.NoTitleBar"
好像没有效果?是否parent
不按照我的想法去做吗?我认为它是这样工作的:
@android:style/Theme.NoTitleBar --> AppBaseTheme --> AppTheme
^ ^ ^
| | |
| | Has everything AppBaseTheme
| | does, unless it's overridden
| |
| Has everything @android:style/Theme.NoTitleBar
| does, unless it's overridden (which I'm not
| doing)
|
Sets whatever it needs to to not have a title, which I assume
is done by setting <item name="android:windowNoTitle">true</item>
但是,我还发现如果我设置 <item name="android:windowNoTitle">true</item>
在 AppBaseTheme
它也没有效果;我必须在 AppTheme
中设置它.那么指定父级到底有什么意义呢?
最佳答案
我想我刚刚弄明白了。原来在我创建项目的时候,Android创建了一个res/values-14/styles.xml
文件,里面是 <style name="AppBaseTheme" parent="android:Theme.Holo.Light.DarkActionBar">
.
事实证明,res/values-14/styles.xml
文件覆盖了我的默认 res/values/styles.xml
因为我正在测试的设备具有 API 级别 14,因此它更喜欢 values-14
中的文件比默认值 values
.
继承似乎确实像我想的那样起作用;我只是没有意识到我第一次创建项目时创建的文件会覆盖某些内容。
关于android - 主题继承在 Android 中究竟是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14531093/
Feel free to skip straight to TL/DR if you're not interested in details of the question 简短的序言: 我最近决定
我一直在阅读 A Tour of Go学习Go-Lang到目前为止一切顺利。 我目前在 Struct Fields类(class),这是右侧的示例代码: package main import "fm
Last time I got confused顺便说一下PowerShell急切地展开集合,基思总结了它的启发式如下: Putting the results (an array) within a
我是一名优秀的程序员,十分优秀!