Browse Source

android: Use x-axis animation for navigation rail

nce_cpp
Charles Lombardo 3 years ago
committed by bunnei
parent
commit
6a38aa2a7d
  1. 18
      src/android/app/src/main/java/org/yuzu/yuzu_emu/ui/main/MainActivity.kt
  2. 4
      src/android/app/src/main/res/values-w600dp/bools.xml
  3. 4
      src/android/app/src/main/res/values/bools.xml

18
src/android/app/src/main/java/org/yuzu/yuzu_emu/ui/main/MainActivity.kt

@ -148,17 +148,29 @@ class MainActivity : AppCompatActivity(), ThemeProvider {
return
}
val smallLayout = resources.getBoolean(R.bool.small_layout)
binding.navigationView.animate().apply {
if (visible) {
binding.navigationView.visibility = View.VISIBLE
binding.navigationView.translationY = binding.navigationView.height.toFloat() * 2
duration = 300
translationY(0f)
interpolator = PathInterpolator(0.05f, 0.7f, 0.1f, 1f)
if (smallLayout) {
binding.navigationView.translationY = binding.navigationView.height.toFloat() * 2
translationY(0f)
} else {
binding.navigationView.translationX = binding.navigationView.width.toFloat() * -2
translationX(0f)
}
} else {
duration = 300
translationY(binding.navigationView.height.toFloat() * 2)
interpolator = PathInterpolator(0.3f, 0f, 0.8f, 0.15f)
if (smallLayout) {
translationY(binding.navigationView.height.toFloat() * 2)
} else {
translationX(binding.navigationView.width.toFloat() * -2)
}
}
}.withEndAction {
if (!visible) {

4
src/android/app/src/main/res/values-w600dp/bools.xml

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<bool name="small_layout">false</bool>
</resources>

4
src/android/app/src/main/res/values/bools.xml

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<bool name="small_layout">true</bool>
</resources>
Loading…
Cancel
Save