我的问题是我想要更改特定片段中状态栏的颜色。在所有其他片段中,颜色应该相同。例如,在所有片段中,我的状态栏颜色为红色。但在特定片段中我想把它变成黑色。谁能告诉我怎么能这样做?
这是我片段的onCreateView方法: -
@Override
public View onCreateView(LayoutInflater inflater, final ViewGroup container, Bundle savedInstanceState) {
final View view = (View) inflater.inflate(R.layout.slide_user_image, container, false);
Window window = getActivity().getWindow();
window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.setStatusBarColor(getActivity().getResources().getColor(R.color.black));
return view;
}
答案 0 :(得分:2)
Window window = getActivity().getWindow();
window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.setStatusBarColor(getActivity().getResources().getColor(R.color.black));
将此代码写在片段的onResume()上,并在onPause()方法上恢复颜色,这样该应用程序将在其他片段中使用旧的statusbarcolor。