Skip to content

Instantly share code, notes, and snippets.

View TemMax's full-sized avatar
💥

Artsiom Komar TemMax

💥
View GitHub Profile
@TemMax
TemMax / kba.kt
Last active January 7, 2021 14:59
// ======================= WINDOW INSETS =======================
fun View.addSystemTopPadding(
targetView: View = this,
isConsumed: Boolean = false
) {
doOnApplyWindowInsets { _, insets, initialPadding ->
targetView.updatePadding(
top = initialPadding.top + insets.systemWindowInsetTop
)
@TemMax
TemMax / KeyboardAwareFrameLayout.kt
Last active October 8, 2020 09:51
Keyboard-aware FrameLayout that fits when keyboard is opened. 100 dp is a magic dimension. Waiting for WindowInsets update with Android 11
import android.content.Context
import android.util.AttributeSet
import android.widget.FrameLayout
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
/**
* Before adding this:
* 1. In AndroidManifest in your <activity/> tag android:windowSoftInputMode="adjustResize"
* 2. Enable "EDGE-TO-EDGE" mode in your activity -> window.decorView.systemUiVisibility = decorView.systemUiVisibility or (View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or View.SYSTEM_UI_FLAG_LAYOUT_STABLE)