1
0
Fork 0
mirror of https://github.com/anyproto/anytype-kotlin.git synced 2025-06-08 05:47:05 +09:00

DROID-1188 Set | Design | Header (#140)

This commit is contained in:
Konstantin Ivanov 2023-07-07 09:52:10 +02:00 committed by GitHub
parent a393461d91
commit 48fdd32f55
Signed by: github
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 43 additions and 8 deletions

View file

@ -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<LinearLayout.LayoutParams> {
topMargin = dimen(R.dimen.dp_12)
}
binding.objectHeader.docEmojiIconContainer.updateLayoutParams<FrameLayout.LayoutParams> {
topMargin =
if (!header.title.hasCover) dimen(R.dimen.dp_12) else dimen(R.dimen.dp_72)
}
}
header.title.image != null -> {
title.updateLayoutParams<LinearLayout.LayoutParams> {
topMargin = dimen(R.dimen.dp_10)
}
binding.objectHeader.imageIcon.updateLayoutParams<FrameLayout.LayoutParams> {
topMargin =
if (!header.title.hasCover) dimen(R.dimen.dp_3) else dimen(R.dimen.dp_54)
}
}
else -> {
title.updateLayoutParams<LinearLayout.LayoutParams> {
topMargin =
if (!header.title.hasCover) dimen(R.dimen.dp_32) else dimen(R.dimen.dp_10)
}
}
}
}
private fun setCover(
coverColor: CoverColor?,
coverImage: String?,

View file

@ -24,19 +24,20 @@
<FrameLayout
android:id="@+id/docEmojiIconContainer"
android:layout_width="72dp"
android:layout_height="72dp"
android:layout_width="88dp"
android:layout_height="88dp"
android:layout_gravity="bottom"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="16dp"
android:background="@drawable/background_layout_icon_basic"
android:transitionName="@string/logo_transition">
android:transitionName="@string/logo_transition"
tools:visibility="gone">
<ImageView
android:id="@+id/emojiIcon"
android:layout_width="32dp"
android:layout_height="32dp"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_gravity="center" />
</FrameLayout>
@ -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" />
</FrameLayout>

View file

@ -84,6 +84,7 @@
<dimen name="sp_13">13sp</dimen>
<dimen name="sp_15">15sp</dimen>
<dimen name="dp_2">2dp</dimen>
<dimen name="dp_3">3dp</dimen>
<dimen name="dp_4">4dp</dimen>
<dimen name="dp_6">6dp</dimen>
<dimen name="dp_8">8dp</dimen>
@ -100,6 +101,8 @@
<dimen name="dp_45">45dp</dimen>
<dimen name="dp_46">46dp</dimen>
<dimen name="dp_48">48dp</dimen>
<dimen name="dp_54">54dp</dimen>
<dimen name="dp_72">72dp</dimen>
<dimen name="dp_80">80dp</dimen>
<dimen name="dp_51">51dp</dimen>
<dimen name="dp_60">60dp</dimen>