mirror of
https://github.com/topjohnwu/Magisk.git
synced 2024-11-27 12:05:30 +00:00
Move behavior to XML
This commit is contained in:
parent
be6386c410
commit
f88e812b63
@ -10,9 +10,7 @@ import android.view.WindowManager
|
||||
import androidx.coordinatorlayout.widget.CoordinatorLayout
|
||||
import androidx.core.content.pm.ShortcutManagerCompat
|
||||
import androidx.core.view.forEach
|
||||
import androidx.core.view.updateLayoutParams
|
||||
import androidx.navigation.NavDirections
|
||||
import com.google.android.material.card.MaterialCardView
|
||||
import com.topjohnwu.magisk.MainDirections
|
||||
import com.topjohnwu.magisk.R
|
||||
import com.topjohnwu.magisk.arch.BaseUIActivity
|
||||
@ -22,8 +20,6 @@ import com.topjohnwu.magisk.core.*
|
||||
import com.topjohnwu.magisk.databinding.ActivityMainMd2Binding
|
||||
import com.topjohnwu.magisk.ktx.startAnimations
|
||||
import com.topjohnwu.magisk.ui.home.HomeFragmentDirections
|
||||
import com.topjohnwu.magisk.utils.HideBottomViewOnScrollBehavior
|
||||
import com.topjohnwu.magisk.utils.HideTopViewOnScrollBehavior
|
||||
import com.topjohnwu.magisk.utils.HideableBehavior
|
||||
import com.topjohnwu.magisk.utils.Utils
|
||||
import com.topjohnwu.magisk.view.MagiskDialog
|
||||
@ -77,12 +73,6 @@ open class MainActivity : BaseUIActivity<MainViewModel, ActivityMainMd2Binding>(
|
||||
|
||||
setSupportActionBar(binding.mainToolbar)
|
||||
|
||||
binding.mainToolbarWrapper.updateLayoutParams<CoordinatorLayout.LayoutParams> {
|
||||
behavior = HideTopViewOnScrollBehavior<MaterialCardView>()
|
||||
}
|
||||
binding.mainBottomBar.updateLayoutParams<CoordinatorLayout.LayoutParams> {
|
||||
behavior = HideBottomViewOnScrollBehavior<MaterialCardView>()
|
||||
}
|
||||
binding.mainNavigation.setOnNavigationItemSelectedListener {
|
||||
getScreen(it.itemId)?.navigate()
|
||||
true
|
||||
|
@ -1,5 +1,7 @@
|
||||
package com.topjohnwu.magisk.utils
|
||||
|
||||
import android.content.Context
|
||||
import android.util.AttributeSet
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.coordinatorlayout.widget.CoordinatorLayout
|
||||
@ -13,8 +15,8 @@ import com.topjohnwu.magisk.R
|
||||
import com.topjohnwu.magisk.core.Info
|
||||
import kotlin.math.roundToInt
|
||||
|
||||
class HideBottomViewOnScrollBehavior<V : View> : HideBottomViewOnScrollBehavior<V>(),
|
||||
HideableBehavior<V> {
|
||||
class HideBottomViewOnScrollBehavior<V : View>(context: Context, attrs: AttributeSet) :
|
||||
HideBottomViewOnScrollBehavior<V>(), HideableBehavior<V> {
|
||||
|
||||
private var lockState: Boolean = false
|
||||
private var isLaidOut = false
|
||||
@ -122,4 +124,4 @@ class HideBottomViewOnScrollBehavior<V : View> : HideBottomViewOnScrollBehavior<
|
||||
.setInterpolator(FastOutSlowInInterpolator())
|
||||
.start()
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,8 @@
|
||||
package com.topjohnwu.magisk.utils
|
||||
|
||||
import android.animation.TimeInterpolator
|
||||
import android.content.Context
|
||||
import android.util.AttributeSet
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.view.ViewPropertyAnimator
|
||||
@ -8,9 +10,8 @@ import androidx.coordinatorlayout.widget.CoordinatorLayout
|
||||
import androidx.core.view.ViewCompat
|
||||
import com.google.android.material.animation.AnimationUtils
|
||||
|
||||
class HideTopViewOnScrollBehavior<V : View> :
|
||||
CoordinatorLayout.Behavior<V>(),
|
||||
HideableBehavior<V> {
|
||||
class HideTopViewOnScrollBehavior<V : View>(context: Context, attrs: AttributeSet) :
|
||||
CoordinatorLayout.Behavior<V>(), HideableBehavior<V> {
|
||||
|
||||
companion object {
|
||||
private const val STATE_SCROLLED_DOWN = 1
|
||||
@ -139,4 +140,4 @@ class HideTopViewOnScrollBehavior<V : View> :
|
||||
.setDuration(duration)
|
||||
.withEndAction { currentAnimator = null }
|
||||
.let { currentAnimator = it }
|
||||
}
|
||||
}
|
||||
|
@ -35,6 +35,7 @@
|
||||
style="@style/WidgetFoundation.Appbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_behavior=".utils.HideTopViewOnScrollBehavior"
|
||||
app:fitsSystemWindowsInsets="top">
|
||||
|
||||
<com.google.android.material.appbar.MaterialToolbar
|
||||
@ -76,6 +77,7 @@
|
||||
android:layout_marginBottom="@dimen/l1"
|
||||
android:fitsSystemWindows="false"
|
||||
app:layout_fitsSystemWindowsInsets="bottom"
|
||||
app:layout_behavior=".utils.HideBottomViewOnScrollBehavior"
|
||||
tools:layout_marginBottom="64dp">
|
||||
|
||||
<com.google.android.material.bottomnavigation.BottomNavigationView
|
||||
|
Loading…
Reference in New Issue
Block a user