Migration FAB now behaves better

This commit is contained in:
Jobobby04 2020-05-28 23:22:25 -04:00
parent 675bb209e6
commit 473bb69f70
2 changed files with 8 additions and 20 deletions

View File

@ -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.browse.migration.advanced.process.MigrationListController
import eu.kanade.tachiyomi.ui.browse.migration.advanced.process.MigrationProcedureConfig
import exh.util.doOnApplyWindowInsets
import exh.util.marginBottom
import exh.util.updateLayoutParams
import exh.util.updatePaddingRelative
import eu.kanade.tachiyomi.ui.main.offsetAppbarHeight
import eu.kanade.tachiyomi.util.view.shrinkOnScroll
import uy.kohesive.injekt.injectLazy
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.isHandleDragEnabled = true
dialog = null
val fabBaseMarginBottom = binding.fab.marginBottom
binding.recycler.doOnApplyWindowInsets { v, insets, padding ->
binding.fab.updateLayoutParams<ViewGroup.MarginLayoutParams> {
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.shrinkOnScroll(binding.recycler)
binding.fab.setOnClickListener {
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?) {

View File

@ -20,12 +20,14 @@
</androidx.recyclerview.widget.RecyclerView>
<com.google.android.material.floatingactionbutton.FloatingActionButton
<com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton
android:id="@+id/fab"
style="@style/Theme.Widget.FAB"
android:clickable="true"
android:focusable="true"
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_anchorGravity="bottom|right|end"
app:layout_constraintBottom_toBottomOf="parent"