100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > android全屏状态栏是黑色 解决DialogFragment全屏时状态栏变黑

android全屏状态栏是黑色 解决DialogFragment全屏时状态栏变黑

时间:2019-06-09 20:57:05

相关推荐

android全屏状态栏是黑色 解决DialogFragment全屏时状态栏变黑

代码可以参考如下

import android.app.Activity;

import android.graphics.Rect;

import android.os.Bundle;

import android.support.annotation.Nullable;

import android.support.v4.content.ContextCompat;

import android.view.ViewGroup;

import android.view.Window;

import android.view.WindowManager;

public class BaseDialogFragment extends DialogFragment{

@Override

public void onActivityCreated(@Nullable Bundle savedInstanceState) {

Window window = getDialog().getWindow();

window.requestFeature(Window.FEATURE_NO_TITLE);

super.onActivityCreated(savedInstanceState);

//设置背景为透明

window.setBackgroundDrawable(ContextCompat.getDrawable(getContext(), android.R.color.transparent));

int dialogHeight = getContextRect(getActivity());

//设置弹窗大小为会屏

window.setLayout(ViewGroup.LayoutParams.MATCH_PARENT, dialogHeight == 0 ? ViewGroup.LayoutParams.MATCH_PARENT : dialogHeight);

//去除阴影

WindowManager.LayoutParams layoutParams = window.getAttributes();

layoutParams.dimAmount = 0.0f;

window.setAttributes(layoutParams);

}

//获取内容区域

private int getContextRect(Activity activity){

//应用区域

Rect outRect1 = new Rect();

activity.getWindow().getDecorView().getWindowVisibleDisplayFrame(outRect1);

return outRect1.height();

}

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。