mirror of
https://github.com/mihonapp/mihon.git
synced 2024-12-25 06:32:09 +00:00
Handle toolbar title in manga details on tablets similar to on phones
This commit is contained in:
parent
b47face2f8
commit
47f865aa72
2 changed files with 16 additions and 15 deletions
|
@ -253,6 +253,15 @@ class MangaController :
|
|||
// Tablet layout
|
||||
binding.infoRecycler?.let {
|
||||
it.adapter = mangaInfoAdapter
|
||||
|
||||
it.scrollEvents()
|
||||
.onEach { updateToolbarTitleAlpha() }
|
||||
.launchIn(viewScope)
|
||||
|
||||
// Delayed in case we need to jump to chapters
|
||||
it.post {
|
||||
updateToolbarTitleAlpha()
|
||||
}
|
||||
}
|
||||
binding.chaptersRecycler?.let {
|
||||
it.adapter = ConcatAdapter(chaptersHeaderAdapter, chaptersAdapter)
|
||||
|
@ -284,19 +293,17 @@ class MangaController :
|
|||
}
|
||||
|
||||
private fun updateToolbarTitleAlpha(alpha: Int? = null) {
|
||||
if (binding.fullRecycler == null) {
|
||||
return
|
||||
}
|
||||
val scrolledList = binding.fullRecycler ?: binding.infoRecycler!!
|
||||
|
||||
val calculatedAlpha = when {
|
||||
// Specific alpha provided
|
||||
alpha != null -> alpha
|
||||
|
||||
// First item isn't in view, full opacity
|
||||
((binding.fullRecycler!!.layoutManager as LinearLayoutManager).findFirstVisibleItemPosition() > 0) -> 255
|
||||
((scrolledList.layoutManager as LinearLayoutManager).findFirstVisibleItemPosition() > 0) -> 255
|
||||
|
||||
// Based on scroll amount when first item is in view
|
||||
else -> min(binding.fullRecycler!!.computeVerticalScrollOffset(), 255)
|
||||
else -> min(scrolledList.computeVerticalScrollOffset(), 255)
|
||||
}
|
||||
|
||||
(activity as? MainActivity)?.binding?.toolbar?.setTitleTextColor(
|
||||
|
|
|
@ -195,16 +195,10 @@ class MangaInfoHeaderAdapter(
|
|||
*/
|
||||
private fun setMangaInfo(manga: Manga, source: Source?) {
|
||||
// Update full title TextView.
|
||||
with(binding.mangaFullTitle) {
|
||||
if (isTablet) {
|
||||
isVisible = false
|
||||
} else {
|
||||
text = if (manga.title.isBlank()) {
|
||||
view.context.getString(R.string.unknown)
|
||||
} else {
|
||||
manga.title
|
||||
}
|
||||
}
|
||||
binding.mangaFullTitle.text = if (manga.title.isBlank()) {
|
||||
view.context.getString(R.string.unknown)
|
||||
} else {
|
||||
manga.title
|
||||
}
|
||||
|
||||
// Update author TextView.
|
||||
|
|
Loading…
Reference in a new issue