8

Activityフルスクリーンで表示される があります。CoordinatorLayoutこれは、私が試した多くのレイアウトで完全に機能しますが、がルートの場合を除きViewGroupます。それCoordinatorLayout自体には幅と高さの両方が設定されてmatch_parentおり、画面全体を必要に応じて使用します。ただし、 と同じサイズにする必要がある子ビューはCoordinatorLayout、ナビゲーション バーがまだ表示されているかのように配置されます。

問題の図解

で子ビューのサイズを変更する方法はありCoordinatorLayoutますか? これはおそらく実装fitSystemWindowsによって引き起こされるため、明らかに物事は変わりませんが、他の機能はうまくいきます。カスタムクラスを作成しようとしましたが、成功しませんでした。CoordinatorLayoutViewGroupsBehavior

このコードを使用してActivityフルスクリーンを作成します。

@Override
protected void onResume() {
    super.onResume();
    int uiOptions = View.SYSTEM_UI_FLAG_LAYOUT_STABLE
            | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
            | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
            | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
            | View.SYSTEM_UI_FLAG_FULLSCREEN
            | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
    getWindow().getDecorView().setSystemUiVisibility(uiOptions);
}

これは、画像の生成に使用される単純なレイアウトです。

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true"
    android:background="#F00">

    <ImageView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fitsSystemWindows="true"
        android:scaleType="centerCrop"
        android:src="@drawable/background_sky_light" />

</android.support.design.widget.CoordinatorLayout>
4

3 に答える 3