[Settings] Fixed bottom padding issues in Setting screens on older devices

[Settings] Fixed bottom padding issues in Setting screens on older devices
This commit is contained in:
Prathamesh More 2021-12-09 17:56:43 +05:30
parent 581b2fb068
commit 558f61e905
2 changed files with 10 additions and 6 deletions

View file

@ -68,10 +68,10 @@ abstract class AbsSettingsFragment : ATEPreferenceFragmentCompat() {
super.onViewCreated(view, savedInstanceState)
setDivider(ColorDrawable(Color.TRANSPARENT))
// CollapsingToolbarLayout consumes insets and insets are not passed to child views
// So we get insets from root view
// So we get insets from decor view
// https://github.com/material-components/material-components-android/issues/1310
ViewCompat.setOnApplyWindowInsetsListener(
view
requireActivity().window.decorView
) { _, insets ->
listView.updatePadding(bottom = insets.safeGetBottomInsets())
insets

View file

@ -19,6 +19,7 @@ import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.core.view.ViewCompat
import androidx.core.view.updatePadding
import androidx.fragment.app.Fragment
import androidx.navigation.fragment.findNavController
@ -26,11 +27,10 @@ import code.name.monkey.appthemehelper.ThemeStore
import code.name.monkey.retromusic.App
import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.databinding.FragmentMainSettingsBinding
import code.name.monkey.retromusic.extensions.addBottomInsets
import code.name.monkey.retromusic.extensions.hide
import code.name.monkey.retromusic.extensions.safeGetBottomInsets
import code.name.monkey.retromusic.extensions.show
import code.name.monkey.retromusic.util.NavigationUtil
import code.name.monkey.retromusic.util.RetroUtil
class MainSettingsFragment : Fragment(), View.OnClickListener {
@ -87,8 +87,12 @@ class MainSettingsFragment : Fragment(), View.OnClickListener {
binding.buyPremium.setTextColor(it)
binding.diamondIcon.imageTintList = ColorStateList.valueOf(it)
}
if (!RetroUtil.isLandscape()) {
binding.container.updatePadding(bottom = RetroUtil.getNavigationBarHeight())
ViewCompat.setOnApplyWindowInsetsListener(
requireActivity().window.decorView
) { _, insets ->
binding.container.updatePadding(bottom = insets.safeGetBottomInsets())
insets
}
}