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

发布于 2024-11-18 06:28:25 字数 790 浏览 3 评论 0 原文

在几个 android 样式教程中,使用了我在 android.R.style.* 样式中找不到的父样式元素(http://developer.android.com/reference/android/R.style.html)。

一些示例来自 http://android-developers.blogspot .com/2011/04/customizing-action-bar.html 操作栏文章。 Nick 使用如下父样式:

<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>

这些父样式从何而来?是否可以列出所有可用的父样式?

谢谢。

In several android styling tutorials parent style elements are used that i can not find in the android.R.style.* styles (http://developer.android.com/reference/android/R.style.html).

A few examples are from the http://android-developers.blogspot.com/2011/04/customizing-action-bar.html action bar article. Nick uses parent styles like:

<style name="MyDropDownNav" parent="android:style/Widget.Holo.Light.Spinner.DropDown.ActionBar">
...
</style>

or

<style name="MyActionBarTabStyle" parent="android:style/Widget.Holo.Light.ActionBarView_TabView">
...
</style>

Where do these parent styles come from? Is it possible to list all available parent styles?

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

本王不退位尔等都是臣 2024-11-25 06:28:25

正如“应用样式和主题”一文中所述:

Android平台提供了大量的样式和主题
您可以在您的应用程序中使用。全部都可以找到参考
R.style 类中的可用样式。要使用此处列出的样式,
将样式名称中的所有下划线替换为句点。例如,
您可以应用 Theme_NoTitleBar 主题
“@android:style/Theme.NoTitleBar”

但是,R.style 参考没有详细记录并且不
彻底描述样式,因此查看实际的源代码
这些风格和主题将使您更好地理解什么
每个都提供样式属性。为了更好的参考
Android的样式和主题,参见如下源码:

这些文件将帮助您通过示例进行学习。例如,在
Android 主题源代码,您会发现

As stated in the "Applying Styles and Themes" article:

The Android platform provides a large collection of styles and themes
that you can use in your applications. You can find a reference of all
available styles in the R.style class. To use the styles listed here,
replace all underscores in the style name with a period. For example,
you can apply the Theme_NoTitleBar theme with
"@android:style/Theme.NoTitleBar".

The R.style reference, however, is not well documented and does not
thoroughly describe the styles, so viewing the actual source code for
these styles and themes will give you a better understanding of what
style properties each one provides. For a better reference to the
Android styles and themes, see the following source code:

These files will help you learn through example. For instance, in the
Android themes source code, you'll find a declaration for <style
name="Theme.Dialog">
. In this definition, you'll see all of the
properties that are used to style dialogs that are used by the Android
framework.

旧故 2024-11-25 06:28:25

对于“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

后者只是我最好的猜测 - 我无法让列表真正下拉。

For "android:style/Widget.Holo.Light.ActionBarView_TabView" see:
http://developer.android.com/reference/android/R.style.html#Widget_Holo_Light_ActionBar_TabView
...and note the API level it was introduced at!

For "android:style/Widget.Holo.Light.Spinner.DropDown.ActionBar" try:
http://developer.android.com/reference/android/R.style.html#Widget_Holo_Light_DropDownItem_Spinner

The latter is just my best guess - I can't get the list to actually drop down.

幻想少年梦 2024-11-25 06:28:25

创建您自己的主题样式时,Parent属性是可选属性。
基本上 parent 属性用于继承平台本身已经定义的样式。

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

这是所有可用平台定义的样式的链接。< /a>

还有一点提示:

如果你想继承你自己创建的样式,就按照这个例子来继承。

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

Parent attribute is a optional one while creating your own themes or styles.
Basically parent attributes are used for inheriting the styles which are already defined in the platform itself.

If we wish to inherit a theme or style and overwriting some features, we can use parent attribute.

Here's a link for the all available platform defined styles.

And one more tip :

If you want to inherit your own style that you created by yourself means follow this example to inherit.

    <style name="MyDropDownNav.Red">
        <item name="android:textColor">#FF0000</item>
    </style>
烙印 2024-11-25 06:28:25

以下是Google 官方文档,其中包含主题样式默认列表
Google Android 文档

您可以在本文档中找到

我知道上述问题的答案在这里完成,仍然给出了实现方式,因为这对新手很有帮助。.

如何实现它们

这是我从这themes.xml

<style name="Theme.NoTitleBar">
    <item name="android:windowNoTitle">true</item>
</style>

现在为了在我的项目中实现它,

我必须在我的 Styles.xml 文件中添加以下

<style name="AppTheme" parent="android:Theme.NoTitleBar" />

行在此我创建我的名为“AppTheme”的自己的主题,它将继承已由Google定义的属性。所以我在parent中提到它

通过查看themes.xmlstyles.xml不仅有助于获取列表已经定义的主题和样式,还可以帮助新手了解如何创建主题。

由于我在 parent 中提到的主题已经由 android 定义,因此我们将通过在主题名称前添加 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> 

只需向父主题提供样式名称,这里我使用Apptheme作为theme2的父主题

Here is Official Google's Documentation for Default List of Themes and Styles
Google Android Documentation

You can Find here in this documentation

I know the answer to above question finishes over here still giving way of implementation, as it will be helpful for novices..

How to Implement them

This is what i got from the themes.xml

<style name="Theme.NoTitleBar">
    <item name="android:windowNoTitle">true</item>
</style>

Now to implement it in my project

I have to add the following line in my Styles.xml file

<style name="AppTheme" parent="android:Theme.NoTitleBar" />

In this I am creating my own theme named "AppTheme" which will inherit its properties from already defined them by google. so I am mentioning it in parent

By looking into themes.xml and styles.xml will not only help to get the list of the already defined themes and styles but also help novices to have an idea how to create the themes.

As the theme I am mentioning here in parent is already defined by android so we will use it by prefixing the android: to theme name ..

If You want to inherit your created theme then

<style name="Theme2" parent="AppTheme">
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowFullscreen">true</item>
    <item name="android:windowContentOverlay">@null</item>
</style> 

then just provide the style name to the parent, here i am using Apptheme as parent theme for theme2

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文