Handle insets

This commit is contained in:
NekoInverter committed 2021-01-24 17:30:31 +08:00
1 parent 4fd2b94812
commit a52e579b9a
17 files changed
+375 -134

No files matched your search

@@ -22,6 +22,9 @@ import android.view.View;
import androidx.annotation.IntDef;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.graphics.Insets;
import androidx.core.view.OnApplyWindowInsetsListener;
import androidx.core.view.WindowInsetsCompat;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentActivity;
@@ -34,7 +37,7 @@ import java.lang.annotation.RetentionPolicy;
import java.util.ArrayList;
import java.util.List;
public class SceneFragment extends Fragment {
public class SceneFragment extends Fragment implements OnApplyWindowInsetsListener {
public static final int LAUNCH_MODE_STANDARD = 0;
public static final int LAUNCH_MODE_SINGLE_TOP = 1;
@@ -165,6 +168,13 @@ public class SceneFragment extends Fragment {
this.result = result;
}
@Override
public WindowInsetsCompat onApplyWindowInsets(View v, WindowInsetsCompat insets) {
Insets insets1 = insets.getInsets(WindowInsetsCompat.Type.systemBars() | WindowInsetsCompat.Type.ime());
v.setPadding(insets1.left, insets1.top, insets1.right, insets1.bottom);
return WindowInsetsCompat.CONSUMED;
}
@IntDef({LAUNCH_MODE_STANDARD, LAUNCH_MODE_SINGLE_TOP, LAUNCH_MODE_SINGLE_TASK})
@Retention(RetentionPolicy.SOURCE)
public @interface LaunchMode {