Insets for snackbar
This commit is contained in:
parent
71bf9dc828
commit
b94da6b3ed
4 changed files with 18 additions and 4 deletions
|
@ -210,7 +210,9 @@ open class BrowseCatalogueController(bundle: Bundle) :
|
||||||
recycler.adapter = adapter
|
recycler.adapter = adapter
|
||||||
|
|
||||||
catalogue_view.addView(recycler, 1)
|
catalogue_view.addView(recycler, 1)
|
||||||
|
recycler.doOnApplyWindowInsets { v, insets, padding ->
|
||||||
|
v.updatePaddingRelative(bottom = padding.bottom + insets.systemWindowInsetBottom)
|
||||||
|
}
|
||||||
if (oldPosition != RecyclerView.NO_POSITION) {
|
if (oldPosition != RecyclerView.NO_POSITION) {
|
||||||
recycler.layoutManager?.scrollToPosition(oldPosition)
|
recycler.layoutManager?.scrollToPosition(oldPosition)
|
||||||
}
|
}
|
||||||
|
@ -367,6 +369,9 @@ open class BrowseCatalogueController(bundle: Bundle) :
|
||||||
presenter.requestNext()
|
presenter.requestNext()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
snack?.view?.doOnApplyWindowInsets { v, _, padding ->
|
||||||
|
v.setPadding(padding.left,0,padding.right,0)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -33,11 +33,13 @@ import eu.kanade.tachiyomi.ui.base.controller.withFadeTransaction
|
||||||
import eu.kanade.tachiyomi.ui.category.CategoryController
|
import eu.kanade.tachiyomi.ui.category.CategoryController
|
||||||
import eu.kanade.tachiyomi.ui.main.MainActivity
|
import eu.kanade.tachiyomi.ui.main.MainActivity
|
||||||
import eu.kanade.tachiyomi.ui.main.doOnApplyWindowInsets
|
import eu.kanade.tachiyomi.ui.main.doOnApplyWindowInsets
|
||||||
|
import eu.kanade.tachiyomi.ui.main.marginBottom
|
||||||
import eu.kanade.tachiyomi.ui.main.updateLayoutParams
|
import eu.kanade.tachiyomi.ui.main.updateLayoutParams
|
||||||
import eu.kanade.tachiyomi.ui.main.updatePaddingRelative
|
import eu.kanade.tachiyomi.ui.main.updatePaddingRelative
|
||||||
import eu.kanade.tachiyomi.ui.manga.MangaController
|
import eu.kanade.tachiyomi.ui.manga.MangaController
|
||||||
import eu.kanade.tachiyomi.ui.migration.MigrationController
|
import eu.kanade.tachiyomi.ui.migration.MigrationController
|
||||||
import eu.kanade.tachiyomi.util.inflate
|
import eu.kanade.tachiyomi.util.inflate
|
||||||
|
import eu.kanade.tachiyomi.util.marginTop
|
||||||
import eu.kanade.tachiyomi.util.toast
|
import eu.kanade.tachiyomi.util.toast
|
||||||
import kotlinx.android.synthetic.main.chapters_controller.*
|
import kotlinx.android.synthetic.main.chapters_controller.*
|
||||||
import kotlinx.android.synthetic.main.library_controller.*
|
import kotlinx.android.synthetic.main.library_controller.*
|
||||||
|
@ -200,8 +202,8 @@ class LibraryController(
|
||||||
statusScrim.setOnApplyWindowInsetsListener(HeightTopWindowInsetsListener)
|
statusScrim.setOnApplyWindowInsetsListener(HeightTopWindowInsetsListener)
|
||||||
view.doOnApplyWindowInsets { v, insets, padding ->
|
view.doOnApplyWindowInsets { v, insets, padding ->
|
||||||
view.recycler.updatePaddingRelative(
|
view.recycler.updatePaddingRelative(
|
||||||
bottom = view.recycler.bottom + insets.systemWindowInsetBottom,
|
bottom = view.recycler.marginBottom + insets.systemWindowInsetBottom,
|
||||||
top = view.recycler.top + insets.systemWindowInsetTop
|
top = view.recycler.marginTop + insets.systemWindowInsetTop
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
return view
|
return view
|
||||||
|
|
|
@ -381,11 +381,15 @@ class ChaptersController : NucleusController<ChaptersPresenter>(),
|
||||||
destroyActionModeIfNeeded()
|
destroyActionModeIfNeeded()
|
||||||
presenter.downloadChapters(chapters)
|
presenter.downloadChapters(chapters)
|
||||||
if (view != null && !presenter.manga.favorite) {
|
if (view != null && !presenter.manga.favorite) {
|
||||||
recycler?.snack(view.context.getString(R.string.snack_add_to_library), Snackbar.LENGTH_INDEFINITE) {
|
val snack = view.snack(view.context.getString(R.string.snack_add_to_library), Snackbar
|
||||||
|
.LENGTH_INDEFINITE) {
|
||||||
setAction(R.string.action_add) {
|
setAction(R.string.action_add) {
|
||||||
presenter.addToLibrary()
|
presenter.addToLibrary()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
snack.view.doOnApplyWindowInsets { v, _, padding ->
|
||||||
|
v.setPadding(padding.left,0,padding.right,0)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -94,3 +94,6 @@ fun View.getRound(text: String, random : Boolean = true): TextDrawable {
|
||||||
.endConfig()
|
.endConfig()
|
||||||
.buildRound(text, if (random) ColorGenerator.MATERIAL.randomColor else ColorGenerator.MATERIAL.getColor(text))
|
.buildRound(text, if (random) ColorGenerator.MATERIAL.randomColor else ColorGenerator.MATERIAL.getColor(text))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
inline val View.marginTop: Int
|
||||||
|
get() = (layoutParams as? ViewGroup.MarginLayoutParams)?.topMargin ?: 0
|
||||||
|
|
Reference in a new issue