Overflow number supports RTL layout

Fix overlapping issue of overflow number view in RTL layout.
And also, fit the width of overflow Single-line view to match_parent.

Change-Id: I436a3770c8a0001b7a577e3f726bb52cd978298e
Fixes: 31181327
This commit is contained in:
Selim Cinek
2016-08-30 11:28:19 -07:00
parent 68422fd129
commit 09b7dea5b7
2 changed files with 5 additions and 3 deletions

View File

@@ -205,7 +205,7 @@ public class NotificationContentView extends FrameLayout {
&& MeasureSpec.getMode(widthMeasureSpec) != MeasureSpec.UNSPECIFIED) {
singleLineWidthSpec = MeasureSpec.makeMeasureSpec(
width - mSingleLineWidthIndention + mSingleLineView.getPaddingEnd(),
MeasureSpec.AT_MOST);
MeasureSpec.EXACTLY);
}
mSingleLineView.measure(singleLineWidthSpec,
MeasureSpec.makeMeasureSpec(maxSize, MeasureSpec.AT_MOST));

View File

@@ -123,8 +123,10 @@ public class NotificationChildrenContainer extends ViewGroup {
mDividers.get(i).layout(0, 0, getWidth(), mDividerHeight);
}
if (mOverflowNumber != null) {
mOverflowNumber.layout(getWidth() - mOverflowNumber.getMeasuredWidth(), 0, getWidth(),
mOverflowNumber.getMeasuredHeight());
boolean isRtl = getLayoutDirection() == LAYOUT_DIRECTION_RTL;
int left = (isRtl ? 0 : getWidth() - mOverflowNumber.getMeasuredWidth());
int right = left + mOverflowNumber.getMeasuredWidth();
mOverflowNumber.layout(left, 0, right, mOverflowNumber.getMeasuredHeight());
}
if (mNotificationHeader != null) {
mNotificationHeader.layout(0, 0, mNotificationHeader.getMeasuredWidth(),