【问题标题】:Overlay Layout crashes in Android O覆盖布局在 Android O 中崩溃
【发布时间】:2017-09-22 17:05:25
【问题描述】:

我使用此代码在我的应用程序中显示叠加布局。在 android 8.0 "Oreo" 中它崩溃了

WindowManager.LayoutParams playerParams = new WindowManager.LayoutParams(
        ViewGroup.LayoutParams.MATCH_PARENT,
        ViewGroup.LayoutParams.MATCH_PARENT,
        WindowManager.LayoutParams.TYPE_SYSTEM_ERROR,
        WindowManager.LayoutParams.FLAG_FULLSCREEN,
        PixelFormat.TRANSLUCENT);

我发现这个 TYPE_SYSTEM_ERROR 在 O 中被弃用了。有没有其他方法可以显示布局。

【问题讨论】:

    标签: android android-8.0-oreo


    【解决方案1】:

    我也面临同样的问题 TYPE_SYSTEM_ERROR 在 oreo 中已弃用所以如果我们必须使用它,我们需要这样做

    WindowManager.LayoutParams params;
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
        params = new WindowManager.LayoutParams(
                WindowManager.LayoutParams.MATCH_PARENT,
                WindowManager.LayoutParams.MATCH_PARENT,
                WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY,
                WindowManager.LayoutParams.FLAG_FULLSCREEN,
                PixelFormat.TRANSLUCENT);
    } else {
        params = new WindowManager.LayoutParams(
                WindowManager.LayoutParams.MATCH_PARENT,
                WindowManager.LayoutParams.MATCH_PARENT,
                WindowManager.LayoutParams.TYPE_SYSTEM_ERROR,
                WindowManager.LayoutParams.FLAG_FULLSCREEN,
                PixelFormat.TRANSLUCENT);
    }
    

    你可以试试这个。

    【讨论】:

    猜你喜欢
    • 2017-12-08
    • 2011-04-26
    • 2013-03-04
    • 1970-01-01
    • 2015-06-09
    • 2018-02-26
    • 2020-02-16
    • 2013-03-04
    • 1970-01-01
    相关资源
    最近更新 更多