在styles.xml中,我有以下代码
<resources xmlns:android="http://schemas.android.com/apk/res/android"> <style name="mycolor"> <item name="android:background">@layout/header_gradient</item> <item name="android:padding">5dip</item> </style> <style name="myParentTheme" parent="android:Theme.Light"> <item name="android:attr/windowTitleSize">40dip</item> <item name="android:attr/windowTitleBackgroundStyle">@style/mycolor</item> </style> <!-- Application theme. --> <style name="AppTheme" parent="AppBaseTheme"> </style>
在AndroidManifest.xml中,当我使用android:theme =“@ style / myParentTheme”时,标题的颜色和大小设置为我想要设置的内容.但是文本字段的样式更改为旧的常规文本框.当我使用android:theme =“@ style / AppTheme”时,UI看起来非常像“Android-like”,但我对标题的具体设置没有任何影响.删除parent =“AppBaseTheme”使AppTheme样式的行为与myParentTheme样式相同.
另外,当我在键入Style标签的name属性时执行Ctrl Space时,为什么我看不到所有R.attr元素?
请帮忙.谢谢.
解决方法
目的是让您将大部分特定于应用程序的样式信息放在AppTheme中,而不是发明自己的主题(例如myParentTheme). AppBaseTheme主要确保您继承正确的OS提供的主题(例如,Theme.Light vs. Theme.Holo.Light vs. Theme.Holo.Light.DarkActionBar).如果您愿意,还可以将特定于版本的样式信息添加到相应的AppBaseTheme中.
In
AndroidManifest.xml
when I useandroid:theme="@style/myParentTheme"
the color and size of the title are set to what I want to set. But the style for text fields changes to the old regular textBoxes.
那是因为你继承自Theme.Light,它使用原始(非全息)小部件集.
When I use
android:theme="@style/AppTheme"
the UI looks very “Android-like” but my specific settings to the title do not have any effect.
那是因为你决定创建myParentTheme而不是将你的风格定义放到AppTheme中.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。