如何使用Holo.Light主题但让ActionBar使用Holo而不使用ICS?
我想要一个深色的 ActionBar,但让应用程序的其余部分使用 Holo.Light 主题。我知道 ICS/4.0 中有一个 Theme.Holo.Light.DarkActionBar 主题,但我希望它也能在 Honeycomb/3.0+ 中工作。
目前,我正在使用深色 Holo 主题,而对于其余组件,我正在使用 ContextThemeWrapper。但这是一项繁重的工作,而且很容易导致错误。
这可能吗?
I would like to have a dark ActionBar but have the rest of the application use the Holo.Light theme. I know there is a Theme.Holo.Light.DarkActionBar Theme in ICS/4.0 but I want this also to work in Honeycomb/3.0+.
At the Moment I'm using the dark Holo theme and for the rest of my components I'm using a ContextThemeWrapper. But this is much work and can easily lead to errors.
Is this possible?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
创建自定义样式并将父样式设置为全息灯光主题,但将 ActionBar 设置为普通全息。
一个包含类似内容的 xml 文件应该可以完成这项工作(只是在我的记忆中):
然后将 AndroidManifest.xml 中的 appstyle0 设置为样式,并且在所有活动中都是全息浅色主题,但操作栏样式是全息深色。
编辑:
我检查了为什么我的第一个答案不起作用。
操作栏在 styles.xml 中定义,其属性通常由主主题设置。
首先,背景是透明的,因此您应该使用“Widget.Holo.Light.ActionBar.Solid”作为父级。
然后你必须将不同的项目一一设置为深色主题。
让我们以 titleTextStyle 为例:
现在将其设置为。
对上面的 xml 属性进行类似操作。
要查找所有相关属性,请在 styles.xml 和 theme.xml 中搜索参数。
很抱歉告诉您,但根据我所看到的,我想没有简单的方法......
Create a custom style and set the Parent style to the holo light theme but the ActionBar to normal Holo.
a xml file with something like this should do the job (just out of my memory):
Then set the appstyle0 in your AndroidManifest.xml as style and in all your Activitys are holo light theme but the action bar style is holo dark.
Edit:
I checked why my first answer does not work.
The action bar is defined in styles.xml with attributes that are set by the main theme in general.
First of all the BG is transparent, so you should use "Widget.Holo.Light.ActionBar.Solid" as parent.
Then you have to set the different items one by one to the dark theme.
Lets take titleTextStyle as example:
Set this now as.
Proceed like this with the xml attributes above.
To find all related attributes search in styles.xml and themes.xml for the parameters.
Sorry to tell, but I guess there is no easy way, according to what I see...
当我想在操作栏中放置自定义视图时,我遇到了类似的问题。我想要一个深色的操作栏,而应用程序的其余部分保持浅色。更具体地说,我在操作栏中有旋转器。
首先,您的主题应该扩展,
接下来,从您的活动中,使用 getActionBar().getThemedContext() 作为扩展视图的上下文。在我的例子中,这是我传递给我的旋转器阵列适配器的内容。
非常适合我。
I ran into a similar problem when I wanted to put a custom view in the actionbar. I wanted a dark action bar while the rest of the app remained light. More specifically I had spinners in the action bar.
First your theme should extend
Next, from your activity, use
getActionBar().getThemedContext()
as the context for inflating your views. In my instance, it's what I passed to my spinner array adapters.Worked perfectly for me.
发现很容易... 100% 有效,
将以下行添加到 Assemblyinfo.cs
Found it easy... 100% works
add the below line to Assemblyinfo.cs