EasyFloat 是一个用于在 Android 应用中创建悬浮窗口的库。要在 EasyFloat 中添加动画,你可以使用属性动画(Animator)来实现。以下是一个简单的示例,展示了如何在 EasyFloat 中添加一个平移动画:
- 首先,确保你已经在项目的 build.gradle 文件中添加了 EasyFloat 的依赖:
dependencies { implementation 'com.github.shadowsocks:easyfloat:3.0.3' }
- 在你的布局文件中添加一个悬浮窗口的根视图,例如:
- 在你的 Activity 或 Fragment 中,初始化 EasyFloat 并添加一个平移动画:
import android.os.Bundle; import android.view.View; import android.view.animation.Animation; import android.view.animation.AnimationUtils; import android.widget.RelativeLayout; import com.github.shadowsocks.widget.EasyFloat; public class MainActivity extends AppCompatActivity { private EasyFloat easyFloat; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); RelativeLayout rootView = findViewById(R.id.root_view); easyFloat = new EasyFloat(this, rootView); // 创建一个平移动画 Animation animation = AnimationUtils.loadAnimation(this, R.anim.translate_animation); // 设置动画监听器 animation.setAnimationListener(new Animation.AnimationListener() { @Override public void onAnimationStart(Animation animation) { // 动画开始时的操作 } @Override public void onAnimationEnd(Animation animation) { // 动画结束时的操作 } @Override public void onAnimationRepeat(Animation animation) { // 动画重复时的操作 } }); // 将动画应用到悬浮窗口的根视图上 View contentView = findViewById(R.id.easyFloat); contentView.startAnimation(animation); } @Override protected void onDestroy() { super.onDestroy(); if (easyFloat != null) { easyFloat.release(); } } }
- 在 res/anim 目录下创建一个名为 translate_animation.xml 的动画文件,内容如下:
这个示例中,我们创建了一个从左到右的平移动画。你可以根据需要修改动画文件的属性,以实现不同的动画效果。