2013-12-17 26 views
1

我正在收聽某個事件(使用默認相機應用拍攝的照片)。拍攝照片時,我的廣播將運行,並會創建一個帶有對話框的透明活動。從廣播接收器顯示透明活動

問題是活動有黑色的背景,它不透明(沒有看到相機應用拍攝的照片)。我使用TaskAffinity並仍然是相同的問題?我該怎麼辦?

廣播:

public void onReceive(Context context, Intent intent) { 


    Intent i = new Intent(context, DialogAct.class); 
    i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
    context.startActivity(i); 

} 

清單:

<receiver 
      android:name=".CameraEventReceiver" 
      android:enabled="true" > 
      <intent-filter> 
       <action android:name="android.hardware.action.NEW_PICTURE" /> 

       <data android:mimeType="image/*" /> 
      </intent-filter> 
     </receiver> 

<activity 
      android:name=".DialogAct" android:theme="@style/Theme.D1NoTitleDim" 
      android:launchMode="singleInstance" 
      android:label="@string/app_name" 
      android:taskAffinity="com.xxx.newaffinity.DialogAct" > 
      <intent-filter> 
       <action android:name="com.xxx.xx.DIALOGACT" /> 

       <category android:name="android.intent.category.DEFAULT" /> 
      </intent-filter> 
     </activity> 

風格:

<style name="Theme.D1NoTitleDim" parent="android:style/Theme.Translucent"> 
<item name="android:windowNoTitle">true</item> 
<item name="android:windowContentOverlay">@null</item> 
<item name="android:backgroundDimEnabled">true</item> 
<item name="android:background">@android:color/transparent</item> 
</style> 

我已經嘗試了風格和它的作品之前,所以這個問題是不是在這裏。我不知道如何實現透明activity..hhhheeeelp :(

+0

您是否獲得100%透明背景 –

+0

0%透明度總黑色背景 – Snake

+0

我認爲這是可能的,離開屏幕的活動通過_onPause()_ _ _ _ _ _ _ _ _ _()_這個活動不會在繪製之後另一種方法是添加一個新的vi現在到FrameLayout。 **或**您可以查看源代碼並查看Dialog是如何實現的。他們使用與Window相關的東西(例如http://stackoverflow.com/a/13962770/755804)。 – 18446744073709551615

回答

0

你可以嘗試這種風格的透明活動

<style name="Theme.Transparent" parent="android:Theme">#03afee 
     <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> 
+0

沒有工作。我嘗試過這個。但正如我之前說過的那樣,當我在正常的應用程序流程中從活動轉換爲活動時,我曾工作過。只是transaprency不工作從廣播接收器到活動 – Snake

1

您可以使用此代碼:

getWindow().setBackgroundDrawable(
       new ColorDrawable(Color.TRANSPARENT)); 
setContentView(R.layout.xml_editphoto); 
+0

我試過它在內容視圖的XML中設置它,沒有工作。有些東西阻止了廣播接收器 – Snake

+0

請將此放在活動oncreate() – dipali