|
- package com.example.tidalairpeisong.view;
-
- import android.annotation.TargetApi;
- import android.content.Context;
- import android.os.Build;
- import android.util.AttributeSet;
- import android.view.View;
- import android.view.WindowInsets;
- import android.widget.FrameLayout;
-
- /**
- * @ProjectName: NewProject
- * @Package: com.example.tidalair.view
- * @ClassName: WindowInsetsFrameLayout
- * @Description: java类作用描述
- * @Author: csd
- * @CreateDate: 2021/10/19 23:15
- * @UpdateRemark: 更新说明
- * @Version: 1.0
- */
- public class WindowInsetsFrameLayout extends FrameLayout {
- public WindowInsetsFrameLayout(Context context) {
- this(context, null);
- }
-
- public WindowInsetsFrameLayout(Context context, AttributeSet attrs) {
- this(context, attrs, 0);
- }
-
- @TargetApi(Build.VERSION_CODES.LOLLIPOP)
- public WindowInsetsFrameLayout(Context context, AttributeSet attrs, int defStyleAttr) {
- super(context, attrs, defStyleAttr);
- setOnHierarchyChangeListener(new OnHierarchyChangeListener() {
- @Override
- public void onChildViewAdded(View parent, View child) {
- requestApplyInsets();
- }
-
- @Override
- public void onChildViewRemoved(View parent, View child) {
- }
- });
- }
-
- @TargetApi(Build.VERSION_CODES.KITKAT_WATCH)
- @Override
- public WindowInsets onApplyWindowInsets(WindowInsets insets) {
- int childCount = getChildCount();
- for (int index = 0; index < childCount; index++)
- getChildAt(index).dispatchApplyWindowInsets(insets);
- return insets;
- }
- }
|