2014-04-24 109 views
0

我有一个应用程序,可以在三个不同的主题之间更改主题。我有两个活动,应该有一个透明的背景,看起来像上一个活动的对话框。透明Android活动问题

我在这里搜索了很多透明活动,其中大部分都有相同的awnsers。具有几个属性的自定义主题可为相关活动启用透明背景。

对我来说,问题是我需要在父活动上设置此自定义透明主题以及实现任何透明度。如果我只在透明的活动上设置透明的主题,它将是一个坚实的背景。我试过所有我能想到的东西,但这一切归结到这一点,我不知道我做错了什么。

这是我的两个不同的父主题(精简下来的neccesary部分):

<style name="StyledActionbar" parent="Theme.Sherlock.Light.ForceOverflow"> 
    <item name="android:textViewStyle">@style/Iksu.TextView</item> 

    <item name="windowContentOverlay">@null</item> 
    <item name="android:windowContentOverlay">@null</item> 
</style> 

<style name="Transparent" parent="Theme.Sherlock.Light.ForceOverflow"> 
    <item name="android:textViewStyle">@style/TextView</item> 

    <item name="windowContentOverlay">@null</item> 
    <item name="android:windowContentOverlay">@null</item> 

    <item name="android:windowIsTranslucent">true</item> 
</style> 

StyledActionBar是被用于那些不应该有一个所有活动我的三个不同主题的父透明的背景(除了两个)。

透明是三个主题的父项,可用于背景需要透明的活动。

所以父活动有一个基于StyledActionBar主题的主题。我需要透明的活动基于透明主题。

在这种状态下背景是坚实的。

如果我提出:

<item name="android:windowIsTranslucent">true</item> 

到StyledActionBar,几乎所有的东西可以作为一个魅力除了是Android 4.4.2一个讨厌的错误造成的主要活动使用NavUtils最多时,“落后”的OS视图 - 主要活动的导航。

任何想法?

回答

0
在manigest文件

<activity   
     android:theme="@android:style/Theme.Translucent.NoTitleBar"> 
    </activity> 

,并在XML

设置

android:background="@android/transperent" 

也可以使用

android:alpha="0.50" 
0

尝试这一次:

<style name="Theme.Transparent" parent="android:Theme"> 
      <item name="android:windowIsTranslucent">true</item> 
      <item name="android:windowBackground">@android:color/transparent</item> 
      <item name="android:windowContentOverlay">@null</item> 
      <item name="android:windowNoTitle">true</item> 
      <item name="android:windowIsFloating">true</item> 
      <item name="android:backgroundDimEnabled">false</item> 
    </style> 

,并在清单文件

<activity android:name=".AlertActivity" 
        android:theme="@style/Theme.Transparent"/> 

希望它会为ü工作。