SnackBar隐藏在全屏片段的SurfaceView后面

时间:2018-03-02 22:26:45

标签: android android-fragments surfaceview android-snackbar android-fullscreen

这是一个片段xml:

<android.support.design.widget.CoordinatorLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:ignore="MergeRootFrame"
    android:id="@+id/coordinatorLayout">

    <org.webrtc.SurfaceViewRenderer
        android:id="@+id/fullscreen_video_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center" />

    <org.webrtc.SurfaceViewRenderer
        android:id="@+id/pip_video_view"
        android:layout_height="144dp"
        android:layout_width="wrap_content"
        android:layout_gravity="bottom|end"
        android:layout_margin="16dp"/>
</android.support.design.widget.CoordinatorLayout>

此片段交易:

getSupportFragmentManager().beginTransaction().replace(android.R.id.content, CallFragment.newInstance(), FRAGMENT_CALL).commit();

在片段的onCreate中我要求全屏窗口:

getActivity().getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

这是onViewCreated中的SnackBar创建

mySnackbar = Snackbar.make(view.findViewById(R.id.coordinatorLayout), "End call ?", Snackbar.LENGTH_SHORT);

两个渲染器都在onViewCreated中调用了setZOrderOnTop(false)

问题在于Lollipop,SnackBar隐藏在全屏SurfaceView后面,而在Jelly Bean上,一切都按预期工作。 如果我不要要求全屏,一切都在Lollipop中有效。

请问任何想法?提前谢谢。

0 个答案:

没有答案