Migration FAB now behaves better
This commit is contained in:
parent
675bb209e6
commit
473bb69f70
@ -22,10 +22,8 @@ import eu.kanade.tachiyomi.ui.base.controller.BaseController
|
|||||||
import eu.kanade.tachiyomi.ui.base.controller.withFadeTransaction
|
import eu.kanade.tachiyomi.ui.base.controller.withFadeTransaction
|
||||||
import eu.kanade.tachiyomi.ui.browse.migration.advanced.process.MigrationListController
|
import eu.kanade.tachiyomi.ui.browse.migration.advanced.process.MigrationListController
|
||||||
import eu.kanade.tachiyomi.ui.browse.migration.advanced.process.MigrationProcedureConfig
|
import eu.kanade.tachiyomi.ui.browse.migration.advanced.process.MigrationProcedureConfig
|
||||||
import exh.util.doOnApplyWindowInsets
|
import eu.kanade.tachiyomi.ui.main.offsetAppbarHeight
|
||||||
import exh.util.marginBottom
|
import eu.kanade.tachiyomi.util.view.shrinkOnScroll
|
||||||
import exh.util.updateLayoutParams
|
|
||||||
import exh.util.updatePaddingRelative
|
|
||||||
import uy.kohesive.injekt.injectLazy
|
import uy.kohesive.injekt.injectLazy
|
||||||
|
|
||||||
class PreMigrationController(bundle: Bundle? = null) :
|
class PreMigrationController(bundle: Bundle? = null) :
|
||||||
@ -65,22 +63,8 @@ class PreMigrationController(bundle: Bundle? = null) :
|
|||||||
ourAdapter.itemTouchHelperCallback = null // Reset adapter touch adapter to fix drag after rotation
|
ourAdapter.itemTouchHelperCallback = null // Reset adapter touch adapter to fix drag after rotation
|
||||||
ourAdapter.isHandleDragEnabled = true
|
ourAdapter.isHandleDragEnabled = true
|
||||||
dialog = null
|
dialog = null
|
||||||
val fabBaseMarginBottom = binding.fab.marginBottom
|
|
||||||
binding.recycler.doOnApplyWindowInsets { v, insets, padding ->
|
|
||||||
|
|
||||||
binding.fab.updateLayoutParams<ViewGroup.MarginLayoutParams> {
|
binding.fab.shrinkOnScroll(binding.recycler)
|
||||||
bottomMargin = fabBaseMarginBottom + insets.systemWindowInsetBottom
|
|
||||||
}
|
|
||||||
v.post {
|
|
||||||
// offset the recycler by the fab's inset + some inset on top
|
|
||||||
v.updatePaddingRelative(
|
|
||||||
bottom = insets.systemWindowInsetBottom + (
|
|
||||||
binding.fab.marginBottom
|
|
||||||
?: 0
|
|
||||||
) + (binding.fab.height ?: 0)
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
binding.fab.setOnClickListener {
|
binding.fab.setOnClickListener {
|
||||||
if (dialog?.isShowing != true) {
|
if (dialog?.isShowing != true) {
|
||||||
@ -96,6 +80,8 @@ class PreMigrationController(bundle: Bundle? = null) :
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
binding.fab.shrinkOnScroll(binding.recycler)
|
||||||
|
binding.fab.offsetAppbarHeight(activity!!)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun startMigration(extraParam: String?) {
|
override fun startMigration(extraParam: String?) {
|
||||||
|
@ -20,12 +20,14 @@
|
|||||||
|
|
||||||
</androidx.recyclerview.widget.RecyclerView>
|
</androidx.recyclerview.widget.RecyclerView>
|
||||||
|
|
||||||
<com.google.android.material.floatingactionbutton.FloatingActionButton
|
<com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton
|
||||||
android:id="@+id/fab"
|
android:id="@+id/fab"
|
||||||
style="@style/Theme.Widget.FAB"
|
style="@style/Theme.Widget.FAB"
|
||||||
android:clickable="true"
|
android:clickable="true"
|
||||||
android:focusable="true"
|
android:focusable="true"
|
||||||
android:src="@drawable/ic_arrow_forward_24dp"
|
android:src="@drawable/ic_arrow_forward_24dp"
|
||||||
|
android:text="@string/action_migrate"
|
||||||
|
app:icon="@drawable/ic_arrow_forward_24dp"
|
||||||
app:layout_anchor="@id/recycler"
|
app:layout_anchor="@id/recycler"
|
||||||
app:layout_anchorGravity="bottom|right|end"
|
app:layout_anchorGravity="bottom|right|end"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user