查找由android平台主题定义的所有可用样式

时间:2011-07-03 10:15:16

标签: android themes styles

在几个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>

这些父母风格来自哪里?是否可以列出所有可用的父样式?

感谢。

4 个答案:

答案 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)

在创建自己的Parentthemes时,

styles属性是可选的。 基本上parent属性用于继承已在平台本身中定义的样式。

如果我们希望继承themestyle并覆盖某些功能,我们可以使用parent属性。

以下是所有available platform defined styles.

的链接

还有一个提示:

如果您想继承您自己创建的style,请按照此示例继承。

    <style name="MyDropDownNav.Red">
        <item name="android:textColor">#FF0000</item>
    </style>

答案 3 :(得分:3)

以下为Official Google's Documentation Default ListThemes 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”的inheritalready defined them by googleparent来自themes.xml的属性。所以我在styles.xml

中提到它

通过查看help to get the list of the already definedhelp 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}}

的父主题