Fix padding in management activities

Remove the inherent margin of the controls tiles and exclusively use the
item decorator. As we are only assigning margin to the top (to prevent
extra margin at the bottom) of each group, we double the top margin.

Fixes: 164171322
Test: manual
Change-Id: Id337471f3ac81855940da598b4396257ed829311
This commit is contained in:
Fabian Kozynski
2020-08-17 16:03:07 -04:00
parent bae844a14d
commit cbb1ec8a4a
2 changed files with 8 additions and 3 deletions

View File

@@ -1371,7 +1371,7 @@
<dimen name="controls_app_divider_height">2dp</dimen>
<dimen name="controls_app_divider_side_margin">32dp</dimen>
<dimen name="controls_card_margin">2dp</dimen>
<dimen name="controls_card_margin">@dimen/control_base_item_margin</dimen>
<item name="control_card_elevation" type="dimen" format="float">15</item>
<dimen name="controls_dialog_padding">32dp</dimen>

View File

@@ -72,8 +72,13 @@ class ControlAdapter(
TYPE_CONTROL -> {
ControlHolder(
layoutInflater.inflate(R.layout.controls_base_item, parent, false).apply {
layoutParams.apply {
(layoutParams as ViewGroup.MarginLayoutParams).apply {
width = ViewGroup.LayoutParams.MATCH_PARENT
// Reset margins as they will be set through the decoration
topMargin = 0
bottomMargin = 0
leftMargin = 0
rightMargin = 0
}
elevation = this@ControlAdapter.elevation
background = parent.context.getDrawable(
@@ -386,7 +391,7 @@ class MarginItemDecorator(
val type = parent.adapter?.getItemViewType(position)
if (type == ControlAdapter.TYPE_CONTROL) {
outRect.apply {
top = topMargin
top = topMargin * 2 // Use double margin, as we are not setting bottom
left = sideMargins
right = sideMargins
bottom = 0