Always expose the front view a little bit even when backdrop is too tall
Also hide the filter sheet when expanding backdrop Also also ignore the filter sheet when it comes to the layout of the backdrop
This commit is contained in:
parent
75d4d274f6
commit
5790380fcd
2 changed files with 9 additions and 6 deletions
|
@ -757,6 +757,7 @@ class LibraryController(
|
||||||
activity?.appbar?.y = 0f
|
activity?.appbar?.y = 0f
|
||||||
elevateFunc(false)
|
elevateFunc(false)
|
||||||
activity?.dropdown?.setImageResource(R.drawable.ic_arrow_drop_up_24dp)
|
activity?.dropdown?.setImageResource(R.drawable.ic_arrow_drop_up_24dp)
|
||||||
|
filter_bottom_sheet?.sheetBehavior?.hide()
|
||||||
} else {
|
} else {
|
||||||
val notAtTop = recycler.canScrollVertically(-1)
|
val notAtTop = recycler.canScrollVertically(-1)
|
||||||
if (notAtTop != elevate) elevateFunc(notAtTop)
|
if (notAtTop != elevate) elevateFunc(notAtTop)
|
||||||
|
|
|
@ -2,6 +2,7 @@ package eu.kanade.tachiyomi.ui.library.category
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.util.AttributeSet
|
import android.util.AttributeSet
|
||||||
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
|
@ -11,7 +12,6 @@ import com.mikepenz.fastadapter.listeners.OnBindViewHolderListenerImpl
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
||||||
import eu.kanade.tachiyomi.data.database.models.Category
|
import eu.kanade.tachiyomi.data.database.models.Category
|
||||||
import eu.kanade.tachiyomi.util.system.dpToPx
|
import eu.kanade.tachiyomi.util.system.dpToPx
|
||||||
import eu.kanade.tachiyomi.util.view.marginBottom
|
|
||||||
|
|
||||||
class CategoryRecyclerView @JvmOverloads constructor(
|
class CategoryRecyclerView @JvmOverloads constructor(
|
||||||
context: Context,
|
context: Context,
|
||||||
|
@ -71,13 +71,15 @@ class CategoryRecyclerView @JvmOverloads constructor(
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onMeasure(widthSpec: Int, heightSpec: Int) {
|
override fun onMeasure(widthSpec: Int, heightSpec: Int) {
|
||||||
val recyclerView = (parent.parent as ViewGroup).findViewById<RecyclerView>(R.id.recycler)
|
val recyclerView = (parent.parent as ViewGroup).findViewById<View>(R.id.recycler)
|
||||||
|
val mainView = (parent.parent.parent.parent as ViewGroup)
|
||||||
val top = recyclerView.paddingTop
|
val top = recyclerView.paddingTop
|
||||||
val bottom = recyclerView.marginBottom
|
val parent = mainView.measuredHeight - top - 50.dpToPx
|
||||||
val parent = recyclerView.measuredHeight - top - bottom
|
val heightS = if (parent > 0) {
|
||||||
val heightS = if (parent > 0)
|
|
||||||
MeasureSpec.makeMeasureSpec(parent, MeasureSpec.AT_MOST)
|
MeasureSpec.makeMeasureSpec(parent, MeasureSpec.AT_MOST)
|
||||||
else heightSpec
|
} else {
|
||||||
|
heightSpec
|
||||||
|
}
|
||||||
super.onMeasure(widthSpec, heightS)
|
super.onMeasure(widthSpec, heightS)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Reference in a new issue