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; } }