android 笔记11 得到布局,状态栏显示隐藏,代码优化

来源:互联网 发布:穿着舒服的女鞋 知乎 编辑:程序博客网 时间:2024/05/22 15:14

1.在一个普通类中得到activity的布局?
Activity context = view.getContext();
context.findViewById();

private Activity mContext;mContext = (Activity) view.getContext();

2.动态显示和隐藏系统状态栏

WindowManager.LayoutParams layoutParams = mContext.getWindow().getAttributes();//显示layoutParams.flags &= (~WindowManager.LayoutParams.FLAG_FULLSCREEN);            mContext.getWindow().setAttributes(layoutParams);            mContext.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);//隐藏layoutParams.flags |= WindowManager.LayoutParams.FLAG_FULLSCREEN;            mContext.getWindow().setAttributes(layoutParams);            mContext.getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);

3优化后的代码

//直接使用viewView softKeyView = mContext.findViewById(R.id.parent_actions);        View tabView = mContext.findViewById(R.id.card_tab_layout);        if (mIsFullScreen) {            mExpandableSoftKeyPanel.setVisibility(View.VISIBLE);            softKeyView.setVisibility(View.VISIBLE);            tabView.setVisibility(View.VISIBLE);//显示状态栏清除flag            mContext.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS | WindowManager.LayoutParams.FLAG_FULLSCREEN);        } else {            mExpandableSoftKeyPanel.setVisibility(View.GONE);            softKeyView.setVisibility(View.GONE);            tabView.setVisibility(View.GONE);//隐藏状态栏清除flag            mContext.getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS | WindowManager.LayoutParams.FLAG_FULLSCREEN);        }
0 0
原创粉丝点击