在Android中实现模态视图功能
我的目标是在我的Android应用程序中设置一个模式视图。我想打开一个背景透明的视图,这样用户就可以看到后面的视图在Android中实现模态视图功能,android,modal-dialog,android-view,Android,Modal Dialog,Android View,我的目标是在我的Android应用程序中设置一个模式视图。我想打开一个背景透明的视图,这样用户就可以看到后面的视图 我听说过使用透明活动,但这可能会冻结后面的活动,不是吗 我想要一些可重用的东西,因为这个视图将调用多个活动 谢谢也许你可以用一个?您可以使用自定义内容视图显示所需内容,并使用setCancelable(false)您可以使用以下样式使活动背景透明: <style name="TransparentActivity" parent="android:Theme.Black.No
谢谢也许你可以用一个?您可以使用自定义内容视图显示所需内容,并使用
setCancelable(false)
您可以使用以下样式使活动背景透明:
<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>
@android:彩色/透明
@空的
真的
@android:风格/动画
真的
@空的
真的
在舱单中声明如下:
<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
或使用片段(取决于您的勇气)
希望有帮助 对话框内的自定义内容视图不适合我的需要,它仍然是一个对话框。如果我在第一个活动上有动画,我们还会看到它吗?是的,您仍然会看到它,尽管因为旧活动的顶部有一个层,它会调用onPause()。我不确定这是否会暂停动画。将某些内容分层到活动中,而不让它调用onPause()的唯一方法是动态创建“层”,作为同一活动的一部分。我在第一个视图中有一个搜索栏,它仍在移动,而第二个视图在透明活动中运行!谢谢