Вы можете сделать фон деятельности прозрачным, используя этот стиль:
<style name="TransparentActivity" parent="android:Theme.Black.NoTitleBar.Fullscreen">
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:colorBackgroundCacheHint">@null</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowAnimationStyle">@android:style/Animation</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowFullscreen">true</item>
</style>
Объявлено в манифесте так:
<activity
android:label="@string/app_name"
android:name=".activity.DialogActivity"
android:theme="@style/TransparentActivity" >
Затем я использую это в качестве макета для моего диалога:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:id="@+id/containerPageContainer">
<FrameLayout android:layout_height="wrap_content"
android:layout_width="match_parent"
android:background="@drawable/panel_picture_frame_bg_focus_blue"
android:layout_gravity="center"
android:id="@+id/dialog"/>
</FrameLayout>
Вы можете надуть другие макеты и добавить его к @+id/dialog
или использовать фрагменты (в зависимости от того, насколько вы смелы).
Надеюсь, это помогло!