From 48fdd32f5596ec2189d2af691194cc770383eed7 Mon Sep 17 00:00:00 2001 From: Konstantin Ivanov <54908981+konstantiniiv@users.noreply.github.com> Date: Fri, 7 Jul 2023 09:52:10 +0200 Subject: [PATCH] DROID-1188 Set | Design | Header (#140) --- .../anytype/ui/sets/ObjectSetFragment.kt | 31 +++++++++++++++++++ .../res/layout/layout_object_set_header.xml | 17 +++++----- core-ui/src/main/res/values/dimens.xml | 3 ++ 3 files changed, 43 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/com/anytypeio/anytype/ui/sets/ObjectSetFragment.kt b/app/src/main/java/com/anytypeio/anytype/ui/sets/ObjectSetFragment.kt index 1b242fd524..5828bf50fb 100644 --- a/app/src/main/java/com/anytypeio/anytype/ui/sets/ObjectSetFragment.kt +++ b/app/src/main/java/com/anytypeio/anytype/ui/sets/ObjectSetFragment.kt @@ -26,6 +26,7 @@ import androidx.core.os.bundleOf import androidx.core.view.WindowInsetsAnimationCompat.Callback.DISPATCH_MODE_STOP import androidx.core.view.children import androidx.core.view.marginBottom +import androidx.core.view.updateLayoutParams import androidx.core.view.updatePadding import androidx.fragment.app.setFragmentResultListener import androidx.fragment.app.viewModels @@ -587,6 +588,7 @@ open class ObjectSetFragment : } private fun bindHeader(header: SetOrCollectionHeaderState.Default) { + setupHeaderMargins(header) if (title.text.toString() != header.title.text) { title.pauseTextWatchers { title.setText(header.title.text) @@ -647,6 +649,35 @@ open class ObjectSetFragment : } } + private fun setupHeaderMargins(header: SetOrCollectionHeaderState.Default) { + when { + header.title.emoji != null -> { + title.updateLayoutParams { + topMargin = dimen(R.dimen.dp_12) + } + binding.objectHeader.docEmojiIconContainer.updateLayoutParams { + topMargin = + if (!header.title.hasCover) dimen(R.dimen.dp_12) else dimen(R.dimen.dp_72) + } + } + header.title.image != null -> { + title.updateLayoutParams { + topMargin = dimen(R.dimen.dp_10) + } + binding.objectHeader.imageIcon.updateLayoutParams { + topMargin = + if (!header.title.hasCover) dimen(R.dimen.dp_3) else dimen(R.dimen.dp_54) + } + } + else -> { + title.updateLayoutParams { + topMargin = + if (!header.title.hasCover) dimen(R.dimen.dp_32) else dimen(R.dimen.dp_10) + } + } + } + } + private fun setCover( coverColor: CoverColor?, coverImage: String?, diff --git a/app/src/main/res/layout/layout_object_set_header.xml b/app/src/main/res/layout/layout_object_set_header.xml index ae356c8519..431c3c6020 100644 --- a/app/src/main/res/layout/layout_object_set_header.xml +++ b/app/src/main/res/layout/layout_object_set_header.xml @@ -24,19 +24,20 @@ + android:transitionName="@string/logo_transition" + tools:visibility="gone"> @@ -46,9 +47,8 @@ android:layout_width="108dp" android:layout_height="108dp" android:layout_gravity="bottom" - android:layout_marginStart="14dp" + android:layout_marginStart="15dp" android:layout_marginTop="16dp" - android:layout_marginEnd="16dp" android:adjustViewBounds="true" android:background="@color/shape_tertiary" android:padding="4dp" @@ -56,7 +56,8 @@ android:visibility="gone" app:shapeAppearance="@style/TitleImageAppearanceOverlay" app:strokeColor="@color/background_primary" - app:strokeWidth="4dp" /> + app:strokeWidth="4dp" + tools:visibility="gone" /> diff --git a/core-ui/src/main/res/values/dimens.xml b/core-ui/src/main/res/values/dimens.xml index 17c941346d..a4a4e60e27 100644 --- a/core-ui/src/main/res/values/dimens.xml +++ b/core-ui/src/main/res/values/dimens.xml @@ -84,6 +84,7 @@ 13sp 15sp 2dp + 3dp 4dp 6dp 8dp @@ -100,6 +101,8 @@ 45dp 46dp 48dp + 54dp + 72dp 80dp 51dp 60dp