am 3ab8e884: Merge "Fix bug #10514694 Specifying android:gravity="center_vertical|left" results in negative vertical positioning of child" into klp-dev
* commit '3ab8e8847d723fd3b114a4c895c5eeb4623412f4': Fix bug #10514694 Specifying android:gravity="center_vertical|left" results in negative vertical positioning of child
This commit is contained in:
@@ -462,6 +462,7 @@ public class RelativeLayout extends ViewGroup {
|
||||
|
||||
views = mSortedVerticalChildren;
|
||||
count = views.length;
|
||||
final int targetSdkVersion = getContext().getApplicationInfo().targetSdkVersion;
|
||||
|
||||
for (int i = 0; i < count; i++) {
|
||||
View child = views[i];
|
||||
@@ -476,14 +477,26 @@ public class RelativeLayout extends ViewGroup {
|
||||
|
||||
if (isWrapContentWidth) {
|
||||
if (isLayoutRtl()) {
|
||||
width = Math.max(width, myWidth - params.mLeft);
|
||||
if (targetSdkVersion < Build.VERSION_CODES.KEY_LIME_PIE) {
|
||||
width = Math.max(width, myWidth - params.mLeft);
|
||||
} else {
|
||||
width = Math.max(width, myWidth - params.mLeft - params.leftMargin);
|
||||
}
|
||||
} else {
|
||||
width = Math.max(width, params.mRight);
|
||||
if (targetSdkVersion < Build.VERSION_CODES.KEY_LIME_PIE) {
|
||||
width = Math.max(width, params.mRight);
|
||||
} else {
|
||||
width = Math.max(width, params.mRight + params.rightMargin);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (isWrapContentHeight) {
|
||||
height = Math.max(height, params.mBottom);
|
||||
if (targetSdkVersion < Build.VERSION_CODES.KEY_LIME_PIE) {
|
||||
height = Math.max(height, params.mBottom);
|
||||
} else {
|
||||
height = Math.max(height, params.mBottom + params.bottomMargin);
|
||||
}
|
||||
}
|
||||
|
||||
if (child != ignore || verticalGravity) {
|
||||
|
||||
Reference in New Issue
Block a user