EasyFloat 是一个用于在 Android 上创建悬浮窗口的库。要处理多个悬浮窗,您需要遵循以下步骤:
- 首先,将 EasyFloat 添加到您的项目中。在 app/build.gradle 文件中添加以下依赖项:
dependencies { implementation 'com.github.shadowsocks:easyfloat:3.0.3' }
- 在您的应用中使用 EasyFloat。首先,创建一个继承自
FloatWindow
的类,例如MyFloatWindow
:
import com.github.shadowsocks.easyfloat.EasyFloat; import com.github.shadowsocks.easyfloat.widget.FloatView; public class MyFloatWindow extends FloatWindow { public MyFloatWindow(Context context) { super(context); FloatView floatView = new FloatView(context); // 设置悬浮窗口的布局和其他属性 // ... EasyFloat.attachToActivity(context, this); } }
- 在需要创建悬浮窗的 Activity 中,实例化并显示您的自定义
MyFloatWindow
类:
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 创建并显示第一个悬浮窗 new MyFloatWindow(this); // 创建并显示第二个悬浮窗 new MyFloatWindow(this); } }
- 若要处理多个悬浮窗的交互,您可以为每个悬浮窗分配一个唯一的 ID,并在需要时分别调用它们的方法。例如,您可以在
MyFloatWindow
类中为每个悬浮窗分配一个 ID,并在构造函数中设置它:
public class MyFloatWindow extends FloatWindow { private int floatWindowId; public MyFloatWindow(Context context, int floatWindowId) { super(context); this.floatWindowId = floatWindowId; FloatView floatView = new FloatView(context); // 设置悬浮窗口的布局和其他属性 // ... EasyFloat.attachToActivity(context, this); } // 其他方法,例如隐藏或显示悬浮窗 public void hide() { EasyFloat.hide(floatWindowId); } public void show() { EasyFloat.show(floatWindowId); } }
然后,在创建悬浮窗时传递唯一的 ID:
// 创建并显示第一个悬浮窗 new MyFloatWindow(this, 1); // 创建并显示第二个悬浮窗 new MyFloatWindow(this, 2);
现在,您可以使用这些 ID 分别调用每个悬浮窗的隐藏、显示等方法。