mirror of
https://github.com/He4eT/yamf_launcher.git
synced 2026-05-05 01:47:24 +00:00
Better animation and app view now scrolls to top
This commit is contained in:
parent
6147c4b0db
commit
b97193a173
1 changed files with 19 additions and 8 deletions
|
|
@ -9,6 +9,8 @@ import android.content.pm.LauncherActivityInfo
|
||||||
import android.content.pm.LauncherApps
|
import android.content.pm.LauncherApps
|
||||||
import android.graphics.Color
|
import android.graphics.Color
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
|
import android.os.Handler
|
||||||
|
import android.os.Looper
|
||||||
import android.os.UserHandle
|
import android.os.UserHandle
|
||||||
import android.text.Editable
|
import android.text.Editable
|
||||||
import android.text.TextWatcher
|
import android.text.TextWatcher
|
||||||
|
|
@ -122,7 +124,6 @@ class MainActivity : AppCompatActivity(), AppMenuAdapter.OnItemClickListener, Ap
|
||||||
recyclerView.scrollToPosition(0)
|
recyclerView.scrollToPosition(0)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
searchView = findViewById(R.id.searchView)
|
searchView = findViewById(R.id.searchView)
|
||||||
setupSearch()
|
setupSearch()
|
||||||
}
|
}
|
||||||
|
|
@ -257,11 +258,13 @@ class MainActivity : AppCompatActivity(), AppMenuAdapter.OnItemClickListener, Ap
|
||||||
|
|
||||||
private fun View.slideInFromBottom(duration: Long = 100) {
|
private fun View.slideInFromBottom(duration: Long = 100) {
|
||||||
if (visibility != View.VISIBLE) {
|
if (visibility != View.VISIBLE) {
|
||||||
translationY = height.toFloat()
|
translationY = height.toFloat()/5
|
||||||
|
scaleY = 1.2f
|
||||||
alpha = 0f
|
alpha = 0f
|
||||||
visibility = View.VISIBLE
|
visibility = View.VISIBLE
|
||||||
animate()
|
animate()
|
||||||
.translationY(0f)
|
.translationY(0f)
|
||||||
|
.scaleY(1f)
|
||||||
.alpha(1f)
|
.alpha(1f)
|
||||||
.setDuration(duration)
|
.setDuration(duration)
|
||||||
.setListener(null)
|
.setListener(null)
|
||||||
|
|
@ -294,25 +297,34 @@ class MainActivity : AppCompatActivity(), AppMenuAdapter.OnItemClickListener, Ap
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fun View.slideOutToBottom(duration: Long = 100) {
|
fun View.slideOutToBottom(duration: Long = 50) {
|
||||||
if (visibility == View.VISIBLE) {
|
if (visibility == View.VISIBLE) {
|
||||||
animate()
|
animate()
|
||||||
.translationY(height.toFloat())
|
.translationY(height.toFloat() / 5)
|
||||||
|
.scaleY(1.2f)
|
||||||
.alpha(0f)
|
.alpha(0f)
|
||||||
.setDuration(duration)
|
.setDuration(duration)
|
||||||
.setListener(object : AnimatorListenerAdapter() {
|
.setListener(object : AnimatorListenerAdapter() {
|
||||||
override fun onAnimationEnd(animation: Animator) {
|
override fun onAnimationEnd(animation: Animator) {
|
||||||
visibility = View.INVISIBLE
|
visibility = View.INVISIBLE
|
||||||
}
|
}
|
||||||
})}
|
})
|
||||||
|
val handler = Handler(Looper.getMainLooper())
|
||||||
|
handler.postDelayed({
|
||||||
|
recyclerView.scrollToPosition(0)
|
||||||
|
}, 150)
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun View.FadeIn(duration: Long = 100) {
|
private fun View.FadeIn(duration: Long = 100) {
|
||||||
if (visibility != View.VISIBLE) {
|
if (visibility != View.VISIBLE) {
|
||||||
alpha = 0f
|
alpha = 0f
|
||||||
|
translationY = -height.toFloat()/100
|
||||||
visibility = View.VISIBLE
|
visibility = View.VISIBLE
|
||||||
animate()
|
animate()
|
||||||
.alpha(1f)
|
.alpha(1f)
|
||||||
|
.translationY(0f)
|
||||||
.setDuration(duration)
|
.setDuration(duration)
|
||||||
.setListener(null)
|
.setListener(null)
|
||||||
val originalColor = ContextCompat.getColor(this@MainActivity, R.color.new_color)
|
val originalColor = ContextCompat.getColor(this@MainActivity, R.color.new_color)
|
||||||
|
|
@ -343,10 +355,11 @@ class MainActivity : AppCompatActivity(), AppMenuAdapter.OnItemClickListener, Ap
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun View.FadeOut(duration: Long = 100) {
|
fun View.FadeOut(duration: Long = 50) {
|
||||||
if (visibility == View.VISIBLE) {
|
if (visibility == View.VISIBLE) {
|
||||||
animate()
|
animate()
|
||||||
.alpha(0f)
|
.alpha(0f)
|
||||||
|
.translationY(-height.toFloat()/100)
|
||||||
.setDuration(duration)
|
.setDuration(duration)
|
||||||
.setListener(object : AnimatorListenerAdapter() {
|
.setListener(object : AnimatorListenerAdapter() {
|
||||||
override fun onAnimationEnd(animation: Animator) {
|
override fun onAnimationEnd(animation: Animator) {
|
||||||
|
|
@ -358,10 +371,8 @@ class MainActivity : AppCompatActivity(), AppMenuAdapter.OnItemClickListener, Ap
|
||||||
fun openAppMenuActivity() {
|
fun openAppMenuActivity() {
|
||||||
//AppMenuActivity.start(this, installedApps) {
|
//AppMenuActivity.start(this, installedApps) {
|
||||||
//}
|
//}
|
||||||
|
|
||||||
binding.homeView.FadeOut()
|
binding.homeView.FadeOut()
|
||||||
binding.appView.slideInFromBottom()
|
binding.appView.slideInFromBottom()
|
||||||
window.statusBarColor = Color.parseColor("#6E000000")
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue