Fix center-align issue in widgets bottom sheet

- Remove paddingStart
- To add padding for multiple widgets, add empty view to scrollview

Bug: 37918677
Change-Id: I5ec1208765874dda1c4439f60aaeb989c06ccd63
This commit is contained in:
Tony
2017-05-02 21:56:27 -07:00
committed by Tony Wickham
parent 8f4a3963b0
commit 9d3743c3a8
2 changed files with 13 additions and 5 deletions

View File

@@ -19,7 +19,6 @@
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingStart="16dp"
android:paddingTop="28dp"
android:background="?android:attr/colorPrimary"
android:elevation="@dimen/deep_shortcuts_elevation"

View File

@@ -133,10 +133,19 @@ public class WidgetsBottomSheet extends AbstractFloatingView implements Insettab
}
}
// If there is only one widget, we want to center it instead of left-align.
WidgetsBottomSheet.LayoutParams params = (WidgetsBottomSheet.LayoutParams)
widgetRow.getLayoutParams();
params.gravity = widgets.size() == 1 ? Gravity.CENTER_HORIZONTAL : Gravity.START;
if (widgets.size() == 1) {
// If there is only one widget, we want to center it instead of left-align.
WidgetsBottomSheet.LayoutParams params = (WidgetsBottomSheet.LayoutParams)
widgetRow.getLayoutParams();
params.gravity = Gravity.CENTER_HORIZONTAL;
} else {
// Otherwise, add an empty view to the start as padding (but still scroll edge to edge).
View leftPaddingView = LayoutInflater.from(getContext()).inflate(
R.layout.widget_list_divider, widgetRow, false);
leftPaddingView.getLayoutParams().width = Utilities.pxFromDp(
16, getResources().getDisplayMetrics());
widgetCells.addView(leftPaddingView, 0);
}
}
private void addDivider(ViewGroup parent) {