我的目标是在Android应用程序中设置模态视图。我想打开一个视图,其背景是透明的,以便用户可以看到后面的视图。
由于
答案 0 :(得分:2)
您可以使用此样式使活动背景透明:
<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
或使用片段(取决于您的勇敢程度)。
希望有所帮助!
答案 1 :(得分:1)
也许您可以使用Dialog
?您可以使用自定义内容视图显示所需内容,并使用setCancelable(false)
。