BVB*_*BVB 5 android android-manifest android-layout android-activity android-styles
我试图让我的所有活动都有一个自定义主题样式,如下所示:
这个主题适用于许多设备,包括Nexus 7,三星Galaxy S4和三星Droid Charge(运行姜饼).但是,在其他设备上,例如HP Slate 7和Motorola Droid RAZR,它最终看起来像这样:
我AndroidManifest.xml
的application
标签中有以下内容:
android:theme="@style/AppTheme"
Run Code Online (Sandbox Code Playgroud)
主题如下res/values/styles.xml
:
<style name="AppBaseTheme" parent="@android:style/Theme.Light.NoTitleBar">
</style>
<style name="AppTheme" parent="@style/AppBaseTheme">
<item name="android:windowBackground">@color/background</item>
</style>
Run Code Online (Sandbox Code Playgroud)
我还加了styles.xml
下res/values-v11
.这是适用的风格:
<style name="AppBaseTheme" parent="@android:style/Theme.Holo.Light.NoActionBar">
</style>
Run Code Online (Sandbox Code Playgroud)
最后,这似乎在styles.xml
下面res/values-v14
:
<style name="AppBaseTheme" parent="@android:style/Theme.DeviceDefault.Light">
</style>
Run Code Online (Sandbox Code Playgroud)
我试图为每个活动定义主题并手动使用该setTheme()
功能onCreate()
,但没有任何效果.我还试图在每个人手动设置一个背景Activity
,但这也不起作用.我该怎么做才能解决我的问题?
编辑:有趣的是设置android:background
样式使其工作,但是那些不应该有背景的元素也会收到背景颜色.
BVB*_*BVB 15
解决问题的关键是android:windowBackground
将主题改为以下内容:
<item name="android:windowBackground">@drawable/default_background</item>
Run Code Online (Sandbox Code Playgroud)
请注意,我不再使用@color
,而是简单地使用@drawable
xml,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<solid android:color="@color/background"/>
</shape>
Run Code Online (Sandbox Code Playgroud)
似乎某些设备不支持接受此元素的颜色.
归档时间: |
|
查看次数: |
11959 次 |
最近记录: |