1、activity底部弹出动画(参考activity从底部弹出动画_WongWoo1991的博客-CSDN博客_activity底部弹出动画)
总结:需要在调用startactivity方法之后马上调用overridePendingTransition(R.anim.slide_bottom_in, R.anim.slide_bottom_out)方法。
中间遇到的问题:有些activity的初始化操作比较多,导致启动速度可能比较慢,有些需求可能是要在启动动画执行结束后才执行的操作。在activity中有个OnEnterAnimationComplete方法,可以在里面写上动画执行结束后的操作。但是这个方法只支持安卓5及以上的版本哦。
2、关于悬浮窗(Android悬浮窗看这篇就够了_AndroidLMY的博客-CSDN博客_android 悬浮窗)这个博主写的挺不错
这次为了省时间,先用了github上的easyfloat,地址:https://github.com/princekin-f/EasyFloat
dependencies {
implementation 'com.github.princekin-f:EasyFloat:2.0.4'
}
这边我结合了viewbinding使用,方便我更新数据,这个框架会自动跳转到权限申请,还是挺方便的。
val binding = LayoutSuspendedStarBinding.inflate(layoutInflater)
val easyFloat = EasyFloat.with(this)
.setLayout(binding.root)
.setShowPattern(ShowPattern.ALL_TIME)
.setDragEnable(true)
.setSidePattern(SidePattern.RESULT_RIGHT)
.hasEditText(false)
.setGravity(Gravity.BOTTOM or Gravity.END, 0 , -100)
.setMatchParent(widthMatch = false, heightMatch = false)
.setAnimator(DefaultAnimator())
.show()