mirror of
				https://git.suyu.dev/suyu/suyu
				synced 2025-11-04 00:49:02 -06:00 
			
		
		
		
	android: Use x-axis animation for navigation rail
This commit is contained in:
		@@ -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
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								src/android/app/src/main/res/values-w600dp/bools.xml
									
									
									
									
									
										Normal file
									
								
							@@ -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
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								src/android/app/src/main/res/values/bools.xml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,4 @@
 | 
			
		||||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<resources>
 | 
			
		||||
    <bool name="small_layout">true</bool>
 | 
			
		||||
</resources>
 | 
			
		||||
		Reference in New Issue
	
	Block a user