Add paddings and improved margins

This commit is contained in:
Daniel Panero
2024-11-15 22:17:07 +01:00
committed by Mis012
parent 13ed9d76bb
commit fb6565e535
10 changed files with 169 additions and 55 deletions

View File

@@ -50,9 +50,9 @@ public abstract class AbsListView extends AdapterView {
public void setCacheColorHint(int color) {}
public int getListPaddingTop() {return 0;}
public int getListPaddingTop() {return paddingTop;}
public int getListPaddingBottom() {return 0;}
public int getListPaddingBottom() {return paddingBottom;}
public ListAdapter getAdapter() {
return (ListAdapter) super.getAdapter();

View File

@@ -77,9 +77,9 @@ public class AbsoluteLayout extends ViewGroup {
}
// Account for padding too
/* maxWidth += mPaddingLeft + mPaddingRight;
maxHeight += mPaddingTop + mPaddingBottom;
*/
maxWidth += paddingLeft + paddingRight;
maxHeight += paddingTop + paddingBottom;
// Check against minimum height and width
maxHeight = Math.max(maxHeight, getSuggestedMinimumHeight());
maxWidth = Math.max(maxWidth, getSuggestedMinimumWidth());
@@ -111,8 +111,8 @@ public class AbsoluteLayout extends ViewGroup {
AbsoluteLayout.LayoutParams lp =
(AbsoluteLayout.LayoutParams)child.getLayoutParams();
int childLeft = /*mPaddingLeft +*/ lp.x;
int childTop = /*mPaddingTop +*/ lp.y;
int childLeft = paddingLeft + lp.x;
int childTop = paddingTop + lp.y;
child.layout(childLeft, childTop,
childLeft + child.getMeasuredWidth(),
childTop + child.getMeasuredHeight());

View File

@@ -90,25 +90,25 @@ public class FrameLayout extends ViewGroup {
int getPaddingLeftWithForeground() {
// return isForegroundInsidePadding() ? Math.max(mPaddingLeft, mForegroundPaddingLeft) :
// mPaddingLeft + mForegroundPaddingLeft;
return 0;
return paddingLeft;
}
int getPaddingRightWithForeground() {
// return isForegroundInsidePadding() ? Math.max(mPaddingRight, mForegroundPaddingRight) :
// mPaddingRight + mForegroundPaddingRight;
return 0;
return paddingRight;
}
private int getPaddingTopWithForeground() {
// return isForegroundInsidePadding() ? Math.max(mPaddingTop, mForegroundPaddingTop) :
// mPaddingTop + mForegroundPaddingTop;
return 0;
return paddingTop;
}
private int getPaddingBottomWithForeground() {
// return isForegroundInsidePadding() ? Math.max(mPaddingBottom, mForegroundPaddingBottom) :
// mPaddingBottom + mForegroundPaddingBottom;
return 0;
return paddingBottom;
}
@Override

View File

@@ -506,10 +506,10 @@ public class LinearLayout extends ViewGroup {
if (majorGravity != Gravity.TOP) {
switch (majorGravity) {
case Gravity.BOTTOM:
childTop = getBottom() - getTop() - /*mPaddingBottom*/ 0 - mTotalLength;
childTop = getBottom() - getTop() - paddingBottom - mTotalLength;
break;
case Gravity.CENTER_VERTICAL:
childTop += ((getBottom() - getTop() - /*mPaddingTop*/ 0 - /*mPaddingBottom*/ 0) -
childTop += ((getBottom() - getTop() - paddingTop - paddingBottom) -
mTotalLength) / 2;
break;
}
@@ -827,7 +827,7 @@ public class LinearLayout extends ViewGroup {
}
}
// Add in our padding
mTotalLength += /*mPaddingTop*/ 0 + /*mPaddingBottom*/ 0;
mTotalLength += paddingTop + paddingBottom;
int heightSize = mTotalLength;
// Check against our minimum height
heightSize = Math.max(heightSize, getSuggestedMinimumHeight());
@@ -870,7 +870,7 @@ public class LinearLayout extends ViewGroup {
final int childHeightMeasureSpec = MeasureSpec.makeMeasureSpec(
Math.max(0, childHeight), MeasureSpec.EXACTLY);
final int childWidthMeasureSpec = getChildMeasureSpec(widthMeasureSpec,
/*mPaddingLeft*/ 0 + /*mPaddingRight*/ 0 + lp.leftMargin + lp.rightMargin,
paddingLeft + paddingRight + lp.leftMargin + lp.rightMargin,
lp.width);
child.measure(childWidthMeasureSpec, childHeightMeasureSpec);
// Child may now not fit in vertical dimension.
@@ -890,7 +890,7 @@ public class LinearLayout extends ViewGroup {
lp.topMargin + lp.bottomMargin + getNextLocationOffset(child));
}
// Add in our padding
mTotalLength += /*mPaddingTop*/ 0 + /*mPaddingBottom*/ 0;
mTotalLength += paddingTop + paddingBottom;
// TODO: Should we recompute the heightSpec based on the new total length?
} else {
alternativeMaxWidth = Math.max(alternativeMaxWidth,
@@ -919,7 +919,7 @@ public class LinearLayout extends ViewGroup {
if (!allFillParent && widthMode != MeasureSpec.EXACTLY) {
maxWidth = alternativeMaxWidth;
}
maxWidth += /*mPaddingLeft*/ 0 + /*mPaddingRight*/ 0;
maxWidth += paddingLeft + paddingRight;
// Check against our minimum width
maxWidth = Math.max(maxWidth, getSuggestedMinimumWidth());
setMeasuredDimension(resolveSizeAndState(maxWidth, widthMeasureSpec, childState),
@@ -1157,7 +1157,7 @@ public class LinearLayout extends ViewGroup {
}
}
// Add in our padding
mTotalLength += /*mPaddingLeft*/ 0 + /*mPaddingRight*/ 0;
mTotalLength += paddingLeft + paddingRight;
int widthSize = mTotalLength;
// Check against our minimum width
widthSize = Math.max(widthSize, getSuggestedMinimumWidth());
@@ -1208,7 +1208,7 @@ public class LinearLayout extends ViewGroup {
final int childWidthMeasureSpec = MeasureSpec.makeMeasureSpec(
Math.max(0, childWidth), MeasureSpec.EXACTLY);
final int childHeightMeasureSpec = getChildMeasureSpec(heightMeasureSpec,
/*mPaddingTop*/ 0 + /*mPaddingBottom*/ 0 + lp.topMargin + lp.bottomMargin,
paddingTop + paddingBottom + lp.topMargin + lp.bottomMargin,
lp.height);
child.measure(childWidthMeasureSpec, childHeightMeasureSpec);
// Child may now not fit in horizontal dimension.
@@ -1249,7 +1249,7 @@ public class LinearLayout extends ViewGroup {
mTotalLength += mDividerWidth;
}
// Add in our padding
mTotalLength += /*mPaddingLeft*/ 0 + /*mPaddingRight*/ 0;
mTotalLength += paddingLeft + paddingRight;
// TODO: Should we update widthSize with the new total length?
// Check mMaxAscent[INDEX_TOP] first because it maps to Gravity.TOP,
// the most common case
@@ -1290,7 +1290,7 @@ public class LinearLayout extends ViewGroup {
if (!allFillParent && heightMode != MeasureSpec.EXACTLY) {
maxHeight = alternativeMaxHeight;
}
maxHeight += /*mPaddingTop*/ 0 + /*mPaddingBottom*/ 0;
maxHeight += paddingTop + paddingBottom;
// Check against our minimum height
maxHeight = Math.max(maxHeight, getSuggestedMinimumHeight());
setMeasuredDimension(widthSizeAndState | (childState&MEASURED_STATE_MASK),
@@ -1412,29 +1412,28 @@ public class LinearLayout extends ViewGroup {
* @param bottom
*/
void layoutVertical(int left, int top, int right, int bottom) {
final int paddingLeft = /*mPaddingLeft*/ 0;
int childTop;
int childLeft;
// Where right end of child should go
final int width = right - left;
int childRight = width - /*mPaddingRight*/ 0;
int childRight = width - paddingRight;
// Space available for child
int childSpace = width - paddingLeft - /*mPaddingRight*/ 0;
int childSpace = width - paddingLeft - paddingRight;
final int count = getVirtualChildCount();
final int majorGravity = mGravity & Gravity.VERTICAL_GRAVITY_MASK;
final int minorGravity = mGravity & Gravity.RELATIVE_HORIZONTAL_GRAVITY_MASK;
switch (majorGravity) {
case Gravity.BOTTOM:
// mTotalLength contains the padding already
childTop = /*mPaddingTop*/ 0 + bottom - top - mTotalLength;
childTop = paddingTop + bottom - top - mTotalLength;
break;
// mTotalLength contains the padding already
case Gravity.CENTER_VERTICAL:
childTop = /*mPaddingTop*/ 0 + (bottom - top - mTotalLength) / 2;
childTop = paddingTop + (bottom - top - mTotalLength) / 2;
break;
case Gravity.TOP:
default:
childTop = /*mPaddingTop*/ 0;
childTop = paddingTop;
break;
}
for (int i = 0; i < count; i++) {
@@ -1491,14 +1490,13 @@ public class LinearLayout extends ViewGroup {
*/
void layoutHorizontal(int left, int top, int right, int bottom) {
final boolean isLayoutRtl = /*isLayoutRtl()*/ false;
final int paddingTop = /*mPaddingTop*/ 0;
int childTop;
int childLeft;
// Where bottom of child should go
final int height = bottom - top;
int childBottom = height - /*mPaddingBottom*/ 0;
int childBottom = height - paddingBottom;
// Space available for child
int childSpace = height - paddingTop - /*mPaddingBottom*/ 0;
int childSpace = height - paddingTop - paddingBottom;
final int count = getVirtualChildCount();
final int majorGravity = mGravity & Gravity.RELATIVE_HORIZONTAL_GRAVITY_MASK;
final int minorGravity = mGravity & Gravity.VERTICAL_GRAVITY_MASK;
@@ -1509,15 +1507,15 @@ public class LinearLayout extends ViewGroup {
switch (Gravity.getAbsoluteGravity(majorGravity, layoutDirection)) {
case Gravity.RIGHT:
// mTotalLength contains the padding already
childLeft = /*mPaddingLeft*/ 0 + right - left - mTotalLength;
childLeft = paddingLeft + right - left - mTotalLength;
break;
case Gravity.CENTER_HORIZONTAL:
// mTotalLength contains the padding already
childLeft = /*mPaddingLeft*/ 0 + (right - left - mTotalLength) / 2;
childLeft = paddingLeft + (right - left - mTotalLength) / 2;
break;
case Gravity.LEFT:
default:
childLeft = /*mPaddingLeft*/ 0;
childLeft = paddingLeft;
break;
}
int start = 0;

View File

@@ -562,7 +562,7 @@ public class TableLayout extends LinearLayout {
totalWidth += width;
}
int size = MeasureSpec.getSize(widthMeasureSpec) /*- mPaddingLeft - mPaddingRight*/;
int size = MeasureSpec.getSize(widthMeasureSpec) - paddingLeft - paddingRight;
if ((totalWidth > size) && (mShrinkAllColumns || mShrinkableColumns.size() > 0)) {
// oops, the largest columns are wider than the row itself

View File

@@ -216,7 +216,7 @@ public class TableRow extends LinearLayout {
int childWidthMeasureSpec = MeasureSpec.makeMeasureSpec(
Math.max(0, columnWidth - lp.leftMargin - lp.rightMargin), measureMode);
int childHeightMeasureSpec = getChildMeasureSpec(heightMeasureSpec,
/*mPaddingTop + mPaddingBottom*/ + lp.topMargin +
paddingTop +paddingBottom + lp.topMargin +
lp.bottomMargin + totalHeight,
lp.height);