diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java index edaafa37327a300ce9c0f87b0e8acfed24a75f55..2c701c1e7ca6c540029e94203e74577557963d3e 100644 --- a/core/java/android/view/View.java +++ b/core/java/android/view/View.java @@ -19851,11 +19851,18 @@ public class View implements Drawable.Callback, KeyEvent.Callback, */ public final void measure(int widthMeasureSpec, int heightMeasureSpec) { /* *********************** -App View WhiteList- *********************** */ - // Log.d(VIEW_LOG_TAG, "view=" + this.getClass().getName() + " (" + - // MeasureSpec.toString(widthMeasureSpec) + "," + MeasureSpec.toString(heightMeasureSpec) + ")"); + /* + Log.d("zhdw", "view=" + this.getClass().getName() + " (" + MeasureSpec.toString(widthMeasureSpec) + "," + + MeasureSpec.toString(heightMeasureSpec) + ")"); + if (this.mParent != null) { + Log.d("zhdw", " --mParent=" + this.mParent.getClass().getName()); + } + */ final int widthSize = MeasureSpec.getSize(widthMeasureSpec); final int heightSize = MeasureSpec.getSize(heightMeasureSpec); + final int widthMode = MeasureSpec.getMode(widthMeasureSpec); + final int heighMode = MeasureSpec.getMode(heightMeasureSpec); if (this.getClass().getName().startsWith("com.zhihu.android.base.widget.ZHFrameLayout")) { if (heightSize > 960) { @@ -19876,6 +19883,15 @@ public class View implements Drawable.Callback, KeyEvent.Callback, } } + if (this.mParent != null) { + if (this.getClass().getName().startsWith("android.widget.RelativeLayout") && + this.mParent.getClass().getName().startsWith("android.widget.LinearLayout")) { + if (widthSize == 260 && heightSize > 480) { + heightMeasureSpec = MeasureSpec.makeMeasureSpec(424, MeasureSpec.EXACTLY); + } + } + } + if (this.getClass().getName().startsWith("com.ss.android.videoshop.mediaview.SimpleMediaView")) { if (widthSize > 540) { widthMeasureSpec = MeasureSpec.makeMeasureSpec(540, MeasureSpec.EXACTLY);