EasyFloat 是一個用于在 Android 上創建懸浮窗口的庫。要處理多個懸浮窗,您需要遵循以下步驟:
dependencies {
implementation 'com.github.shadowsocks:easyfloat:3.0.3'
}
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);
}
}
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);
}
}
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 分別調用每個懸浮窗的隱藏、顯示等方法。