【发布时间】:2012-10-05 08:52:41
【问题描述】:
我通过在我的 AndroidManifest.xml 中定义android:theme 为我的应用应用了一个主题,如下所示:
AndroidManifest.xml:
<application
android:label="@string/app_name"
android:theme="@style/Theme.MyTheme" >
<activity
android:name=".MainActivity"
...
...
</activity>
...
</application>
在themes.xml:
<style name="Theme.MyTheme" parent="@android:style/Theme.Holo">
<item name="android:windowBackground">@drawable/blue_bg_img</item>
</style>
正如您在上面的MyTheme 中看到的,我已应用蓝色图像作为我的应用程序windowBackground。因此,我的应用中的每个视图元素都将具有这种蓝色图像背景。
但是我有一个 ImageView 元素,我不想拥有这个蓝色 windowBackground,相反,我想为它设置一个透明背景。 我尝试过:
myImageView.setBackgroundColor(Color.TRANSPARENT);
但我的应用主题中定义的蓝色图像仍在显示。似乎我无法覆盖我定义的应用程序主题。如何在我的应用中为一个 View 元素覆盖我的主题???
【问题讨论】:
-
好吧,如果你的
myImageView后面的窗口是蓝色的,那么即使myImageView的背景是透明的,你仍然会看到它后面的蓝色。我是不是误会了? -
@UgglyNoodle,你正确地理解了我。那么,在我的情况下,如何为我的 imageView 设置透明背景?
-
那么,您希望能够通过应用程序的蓝色窗口看到窗口后面的任何内容的目的是什么?
-
我的 ImageView 漂浮在我的屏幕视图之上,我的 ImageView 的蓝色背景不是首选,所以我需要删除它,这就是为什么我需要此 ImageView 的透明背景。
-
但是你的整个屏幕视图都是蓝色的,对吧?
标签: android android-layout android-intent android-widget android-theme