在几个android样式教程中使用了我在android.R.style。* styles(http://developer.android.com/reference/android/R.style.html)中找不到的父样式元素。
一些示例来自http://android-developers.blogspot.com/2011/04/customizing-action-bar.html操作栏文章。尼克使用父样式,如:
<style name="MyDropDownNav" parent="android:style/Widget.Holo.Light.Spinner.DropDown.ActionBar">
...
</style>
或
<style name="MyActionBarTabStyle" parent="android:style/Widget.Holo.Light.ActionBarView_TabView">
...
</style>
这些父母风格来自哪里?是否可以列出所有可用的父样式?
感谢。
答案 0 :(得分:70)
如"Applying Styles and Themes"文章中所述:
Android平台提供了大量的样式和主题 您可以在您的应用程序中使用。你可以找到所有的参考 R.style课程中的可用样式。要使用此处列出的样式, 使用句点替换样式名称中的所有下划线。例如, 您可以应用Theme_NoTitleBar主题 的
"@android:style/Theme.NoTitleBar"
强>然而,R.style参考文献没有详细记录,也没有 彻底描述样式,以便查看实际的源代码 这些风格和主题将使您更好地了解什么 每个人提供的样式属性。为了更好地参考 Android样式和主题,请参阅以下源代码:
这些文件将帮助您通过示例学习。例如,在 Android主题源代码,您会找到
<style name="Theme.Dialog">
的声明。在这个定义中,你会看到所有的 用于设置Android使用的对话框样式的属性 框架。
答案 1 :(得分:3)
对于“android:style / Widget.Holo.Light.ActionBarView_TabView”,请参阅: http://developer.android.com/reference/android/R.style.html#Widget_Holo_Light_ActionBar_TabView ...并注意它引入的API级别!
对于“android:style / Widget.Holo.Light.Spinner.DropDown.ActionBar”,请尝试: http://developer.android.com/reference/android/R.style.html#Widget_Holo_Light_DropDownItem_Spinner
后者只是我最好的猜测 - 我无法让列表真正下降。
答案 2 :(得分:3)
Parent
或themes
时, styles
属性是可选的。
基本上parent
属性用于继承已在平台本身中定义的样式。
如果我们希望继承theme
或style
并覆盖某些功能,我们可以使用parent
属性。
以下是所有available platform defined styles
.
还有一个提示:
如果您想继承您自己创建的style
,请按照此示例继承。
<style name="MyDropDownNav.Red">
<item name="android:textColor">#FF0000</item>
</style>
答案 3 :(得分:3)
以下为Official Google's Documentation
Default List
和Themes
Styles
themes.xml
Google Android Documentation
您可以在此文档中找到
我知道上面的问题的答案在这里完成仍然让位给实施,因为它对新手有用..
如何实施
这是我从<style name="Theme.NoTitleBar">
<item name="android:windowNoTitle">true</item>
</style>
to implement
现在Styles.xml
在我的项目中
我必须在<style name="AppTheme" parent="android:Theme.NoTitleBar" />
文件中添加以下行
own theme
在此,我创建名为“AppTheme
”的inherit
,already defined them by google
将parent
来自themes.xml
的属性。所以我在styles.xml
通过查看help to get the list of the already defined
和help novices to have an idea how to create
不仅会parent
主题和样式,还会android:
主题。
由于我在inherit your created theme
中提到的主题已经由android定义,因此我们将通过在<style name="Theme2" parent="AppTheme">
<item name="android:windowNoTitle">true</item>
<item name="android:windowFullscreen">true</item>
<item name="android:windowContentOverlay">@null</item>
</style>
前加上主题名称来使用它。
如果你想要style name to the parent
那么
Apptheme
然后只提供theme2
,这里我使用{{1}}作为{{1}}