ADD week 5
This commit is contained in:
		| @@ -0,0 +1,87 @@ | ||||
| package androidx.constraintlayout.widget; | ||||
|  | ||||
| import android.content.Context; | ||||
| import android.content.res.TypedArray; | ||||
| import android.util.AttributeSet; | ||||
| import android.view.View; | ||||
| import android.view.ViewParent; | ||||
|  | ||||
| /* loaded from: classes.dex */ | ||||
| public abstract class VirtualLayout extends ConstraintHelper { | ||||
|     private boolean mApplyElevationOnAttach; | ||||
|     private boolean mApplyVisibilityOnAttach; | ||||
|  | ||||
|     public void onMeasure(androidx.constraintlayout.core.widgets.VirtualLayout layout, int widthMeasureSpec, int heightMeasureSpec) { | ||||
|     } | ||||
|  | ||||
|     public VirtualLayout(Context context) { | ||||
|         super(context); | ||||
|     } | ||||
|  | ||||
|     public VirtualLayout(Context context, AttributeSet attrs) { | ||||
|         super(context, attrs); | ||||
|     } | ||||
|  | ||||
|     public VirtualLayout(Context context, AttributeSet attrs, int defStyleAttr) { | ||||
|         super(context, attrs, defStyleAttr); | ||||
|     } | ||||
|  | ||||
|     @Override // androidx.constraintlayout.widget.ConstraintHelper | ||||
|     protected void init(AttributeSet attrs) { | ||||
|         super.init(attrs); | ||||
|         if (attrs != null) { | ||||
|             TypedArray obtainStyledAttributes = getContext().obtainStyledAttributes(attrs, R.styleable.ConstraintLayout_Layout); | ||||
|             int indexCount = obtainStyledAttributes.getIndexCount(); | ||||
|             for (int i = 0; i < indexCount; i++) { | ||||
|                 int index = obtainStyledAttributes.getIndex(i); | ||||
|                 if (index == R.styleable.ConstraintLayout_Layout_android_visibility) { | ||||
|                     this.mApplyVisibilityOnAttach = true; | ||||
|                 } else if (index == R.styleable.ConstraintLayout_Layout_android_elevation) { | ||||
|                     this.mApplyElevationOnAttach = true; | ||||
|                 } | ||||
|             } | ||||
|             obtainStyledAttributes.recycle(); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     @Override // androidx.constraintlayout.widget.ConstraintHelper, android.view.View | ||||
|     public void onAttachedToWindow() { | ||||
|         super.onAttachedToWindow(); | ||||
|         if (this.mApplyVisibilityOnAttach || this.mApplyElevationOnAttach) { | ||||
|             ViewParent parent = getParent(); | ||||
|             if (parent instanceof ConstraintLayout) { | ||||
|                 ConstraintLayout constraintLayout = (ConstraintLayout) parent; | ||||
|                 int visibility = getVisibility(); | ||||
|                 float elevation = getElevation(); | ||||
|                 for (int i = 0; i < this.mCount; i++) { | ||||
|                     View viewById = constraintLayout.getViewById(this.mIds[i]); | ||||
|                     if (viewById != null) { | ||||
|                         if (this.mApplyVisibilityOnAttach) { | ||||
|                             viewById.setVisibility(visibility); | ||||
|                         } | ||||
|                         if (this.mApplyElevationOnAttach && elevation > 0.0f) { | ||||
|                             viewById.setTranslationZ(viewById.getTranslationZ() + elevation); | ||||
|                         } | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     @Override // android.view.View | ||||
|     public void setVisibility(int visibility) { | ||||
|         super.setVisibility(visibility); | ||||
|         applyLayoutFeatures(); | ||||
|     } | ||||
|  | ||||
|     @Override // android.view.View | ||||
|     public void setElevation(float elevation) { | ||||
|         super.setElevation(elevation); | ||||
|         applyLayoutFeatures(); | ||||
|     } | ||||
|  | ||||
|     @Override // androidx.constraintlayout.widget.ConstraintHelper | ||||
|     protected void applyLayoutFeaturesInConstraintSet(ConstraintLayout container) { | ||||
|         applyLayoutFeatures(container); | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user