相关疑难解决方法(0)

在 Fragment、Activity 和 DrawerLayout 组合上适合 SystemWindows

问题

该活动布局具有DrawerLayoutFrameLayout作为内容FragmentLinearLayout被打开和关闭的抽屉。用于内容的片段有一个FrameLayoutwithfitsSystemWindows标志和一个Toolbar.

如果我onCreate()按预期插入片段,则从FrameLayout位置 0Toolbar开始,从状态栏下方开始。但是在onCreate()相同的代码之外失败,fitsSystemWindows不能与FrameLayout.

重要的一点,我需要打开ToolbarfitsSystemWindows标记Fragment而不是打开Activity

如何在onCreate()此刻看到相同的行为?

代码

主要活动

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
            Window window = getWindow();
            window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
            window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
            window.setStatusBarColor(Color.TRANSPARENT);
        }

        setContentView(R.layout.activity);

        findViewById(R.id.item).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) { …
Run Code Online (Sandbox Code Playgroud)

android android-layout android-fragments navigation-drawer windowinsets

4
推荐指数
1
解决办法
2307
查看次数