【问题标题】:Set transparent background for ImageView to override my app theme为 ImageView 设置透明背景以覆盖我的应用主题
【发布时间】: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


【解决方案1】:

如果屏幕的背景是蓝色的,如果你将ImageView的背景设置为透明,你会得到蓝色!尝试将其设置为黑色,或您希望看到的任何其他颜色!

【讨论】:

  • 嗨,设置为黑色的作品,但它仍然不能解决我的问题。我的 ImageView 需要透明背景... :(
【解决方案2】:

最后,我设法自己解决了这个问题,方法是降低 ImageView 元素的高度,直到蓝色背景不可见。如果其他人有其他解决方案,我很高兴看到。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-02
    • 1970-01-01
    • 1970-01-01
    • 2018-10-02
    • 2015-06-18
    • 2016-04-12
    • 2018-04-23
    • 1970-01-01
    相关资源
    最近更新 更多