diff --git a/core/java/android/widget/TimePickerClockDelegate.java b/core/java/android/widget/TimePickerClockDelegate.java index 77670b35a1eaf..6c039d873493e 100644 --- a/core/java/android/widget/TimePickerClockDelegate.java +++ b/core/java/android/widget/TimePickerClockDelegate.java @@ -454,6 +454,7 @@ class TimePickerClockDelegate extends TimePicker.AbstractTimePickerDelegate { (RelativeLayout.LayoutParams) mAmPmLayout.getLayoutParams(); if (params.getRule(RelativeLayout.RIGHT_OF) != 0 || params.getRule(RelativeLayout.LEFT_OF) != 0) { + final int margin = (int) (mContext.getResources().getDisplayMetrics().density * 8); // Horizontal mode, with AM/PM appearing to left/right of hours and minutes. final boolean isAmPmAtLeft; if (TextUtils.getLayoutDirectionFromLocale(mLocale) == View.LAYOUT_DIRECTION_LTR) { @@ -461,10 +462,6 @@ class TimePickerClockDelegate extends TimePicker.AbstractTimePickerDelegate { } else { isAmPmAtLeft = !isAmPmAtStart; } - if (mIsAmPmAtLeft == isAmPmAtLeft) { - // AM/PM is already at the correct location. No change needed. - return; - } if (isAmPmAtLeft) { params.removeRule(RelativeLayout.RIGHT_OF); @@ -473,6 +470,14 @@ class TimePickerClockDelegate extends TimePicker.AbstractTimePickerDelegate { params.removeRule(RelativeLayout.LEFT_OF); params.addRule(RelativeLayout.RIGHT_OF, mMinuteView.getId()); } + + if (isAmPmAtStart) { + params.setMarginStart(0); + params.setMarginEnd(margin); + } else { + params.setMarginStart(margin); + params.setMarginEnd(0); + } mIsAmPmAtLeft = isAmPmAtLeft; } else if (params.getRule(RelativeLayout.BELOW) != 0 || params.getRule(RelativeLayout.ABOVE) != 0) { diff --git a/core/res/res/layout/time_picker_header_material.xml b/core/res/res/layout/time_picker_header_material.xml index ced17227aa2d7..580c9133a4368 100644 --- a/core/res/res/layout/time_picker_header_material.xml +++ b/core/res/res/layout/time_picker_header_material.xml @@ -76,16 +76,14 @@ android:layout_height="wrap_content" android:layout_toRightOf="@+id/minutes" android:layout_alignBaseline="@+id/minutes" - android:paddingStart="4dp" - android:paddingEnd="4dp" + android:layout_marginStart="8dp" + android:layout_marginEnd="0dp" android:orientation="vertical" android:baselineAlignedChildIndex="1">