Merge "Fix bug #7374285 GridLayout layout param margins are broken in RTL mode" into jb-mr1-dev

This commit is contained in:
Fabrice Di Meglio
2012-10-18 15:23:40 -07:00
committed by Android (Google) Code Review
2 changed files with 18 additions and 1 deletions

View File

@@ -10002,8 +10002,10 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
/**
* Resolve the layout parameters depending on the resolved layout direction
*
* @hide
*/
private void resolveLayoutParams() {
public void resolveLayoutParams() {
if (mLayoutParams != null) {
mLayoutParams.resolveLayoutDirection(getLayoutDirection());
}

View File

@@ -5358,6 +5358,16 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager
}
}
@Override
public void resolveLayoutParams() {
super.resolveLayoutParams();
int count = getChildCount();
for (int i = 0; i < count; i++) {
final View child = getChildAt(i);
child.resolveLayoutParams();
}
}
/**
* @hide
*/
@@ -5981,6 +5991,11 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager
*/
@Override
public void resolveLayoutDirection(int layoutDirection) {
// No need to resolve if it is the same layout direction as before
if (this.layoutDirection == layoutDirection) {
return;
}
setLayoutDirection(layoutDirection);
if (!isMarginRelative()) return;