Fixed Edge-to-Edge
This commit is contained in:
parent
ea4a54d404
commit
09ad243a14
6 changed files with 63 additions and 14 deletions
|
@ -1,6 +1,7 @@
|
|||
package code.name.monkey.retromusic.views
|
||||
|
||||
import android.content.Context
|
||||
import android.content.res.Configuration
|
||||
import android.util.AttributeSet
|
||||
import android.view.LayoutInflater
|
||||
import androidx.appcompat.widget.Toolbar
|
||||
|
@ -9,6 +10,7 @@ import code.name.monkey.retromusic.databinding.SimpleAppbarLayoutBinding
|
|||
import code.name.monkey.retromusic.util.PreferenceUtil
|
||||
import com.google.android.material.appbar.AppBarLayout
|
||||
import com.google.android.material.shape.MaterialShapeDrawable
|
||||
import dev.chrisbanes.insetter.applyInsetter
|
||||
|
||||
class TopAppBarLayout @JvmOverloads constructor(
|
||||
context: Context,
|
||||
|
@ -24,9 +26,20 @@ class TopAppBarLayout @JvmOverloads constructor(
|
|||
if (mode == AppBarMode.COLLAPSING) {
|
||||
collapsingAppbarBinding =
|
||||
CollapsingAppbarLayoutBinding.inflate(LayoutInflater.from(context), this, true)
|
||||
val isLandscape =
|
||||
context.resources.configuration.orientation == Configuration.ORIENTATION_LANDSCAPE
|
||||
if (isLandscape) {
|
||||
fitsSystemWindows = false
|
||||
}
|
||||
|
||||
} else {
|
||||
simpleAppbarBinding =
|
||||
SimpleAppbarLayoutBinding.inflate(LayoutInflater.from(context), this, true)
|
||||
simpleAppbarBinding?.root?.applyInsetter {
|
||||
type(navigationBars = true) {
|
||||
padding(horizontal = true)
|
||||
}
|
||||
}
|
||||
statusBarForeground = MaterialShapeDrawable.createWithElevationOverlay(context)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,9 +4,7 @@ import android.content.Context
|
|||
import android.util.AttributeSet
|
||||
import androidx.annotation.Px
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import code.name.monkey.retromusic.R
|
||||
import code.name.monkey.retromusic.extensions.drawAboveSystemBarsWithPadding
|
||||
import code.name.monkey.retromusic.util.RetroUtil
|
||||
import code.name.monkey.retromusic.extensions.applyBottomInsets
|
||||
|
||||
class InsetsRecyclerView @JvmOverloads constructor(
|
||||
context: Context,
|
||||
|
@ -14,8 +12,7 @@ class InsetsRecyclerView @JvmOverloads constructor(
|
|||
defStyleAttr: Int = 0
|
||||
) : RecyclerView(context, attrs, defStyleAttr) {
|
||||
init {
|
||||
if (!RetroUtil.isLandscape())
|
||||
drawAboveSystemBarsWithPadding()
|
||||
applyBottomInsets()
|
||||
}
|
||||
|
||||
fun updatePadding(
|
||||
|
@ -25,10 +22,6 @@ class InsetsRecyclerView @JvmOverloads constructor(
|
|||
@Px bottom: Int = paddingBottom
|
||||
) {
|
||||
setPadding(left, top, right, bottom)
|
||||
// Insetter saves initial state i.e. initial padding/margin of the view,
|
||||
// we just clear it for now
|
||||
setTag(R.id.insetter_initial_state, null)
|
||||
if (!RetroUtil.isLandscape())
|
||||
drawAboveSystemBarsWithPadding()
|
||||
applyBottomInsets()
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue