Create extension function for applying system insets

This commit is contained in:
arkon
2020-11-22 22:30:25 -05:00
parent 38bc8ec6b4
commit 1d7c692e89
4 changed files with 14 additions and 17 deletions
@@ -11,6 +11,9 @@ import androidx.annotation.MenuRes
import androidx.annotation.StringRes
import androidx.appcompat.widget.PopupMenu
import androidx.appcompat.widget.TooltipCompat
import androidx.core.graphics.Insets
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
import androidx.recyclerview.widget.RecyclerView
import com.google.android.material.chip.Chip
import com.google.android.material.chip.ChipGroup
@@ -117,3 +120,11 @@ inline fun ChipGroup.setChips(
addView(chip)
}
}
inline fun View.applyInsets(noinline block: (view: View, systemInsets: Insets) -> Unit) {
ViewCompat.setOnApplyWindowInsetsListener(this) { view, insets ->
val systemInsets = insets.getInsets(WindowInsetsCompat.Type.systemBars())
block(view, systemInsets)
insets
}
}