EasyFloat 是一个 Android 悬浮窗框架,可以轻松实现悬浮窗功能
在项目的 build.gradle 文件中添加 EasyFloat 的依赖项:
dependencies {
implementation 'com.github.princekin-f:EasyFloat:1.3.4'
}
在 AndroidManifest.xml 文件中添加以下权限:
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
在需要使用悬浮窗功能的 Activity 中,请求悬浮窗权限。可以使用 EasyFloat 提供的 PermissionUtils 类进行权限请求:
import com.lzf.easyfloat.permission.PermissionUtils;
public class MainActivity extends AppCompatActivity {
private static final int REQUEST_CODE = 100;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 请求悬浮窗权限
PermissionUtils.requestPermission(this, REQUEST_CODE);
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if (requestCode == REQUEST_CODE) {
if (PermissionUtils.checkPermission(this)) {
// 权限已获取,可以显示悬浮窗
} else {
// 权限未获取,提示用户需要悬浮窗权限
Toast.makeText(this, "需要悬浮窗权限", Toast.LENGTH_SHORT).show();
}
}
}
}
使用 EasyFloat 提供的 FloatWindow 类创建并显示悬浮窗:
import com.lzf.easyfloat.EasyFloat;
import com.lzf.easyfloat.enums.ShowPattern;
import com.lzf.easyfloat.enums.SidePattern;
public class MainActivity extends AppCompatActivity {
// ...
private void showFloatWindow() {
EasyFloat.with(this)
.setLayout(R.layout.float_window_layout) // 设置悬浮窗布局
.setShowPattern(ShowPattern.ALL_TIME) // 设置悬浮窗显示模式
.setSidePattern(SidePattern.DEFAULT) // 设置悬浮窗贴边模式
.setDragEnable(true) // 设置悬浮窗是否可拖动
.show(); // 显示悬浮窗
}
}
// 隐藏悬浮窗
EasyFloat.hide(this);
// 关闭悬浮窗
EasyFloat.dismiss(this);
现在你已经成功地在 Android 项目中集成了 EasyFloat 悬浮窗框架。你可以根据需要自定义悬浮窗的样式和行为。更多关于 EasyFloat 的信息和用法,请参考官方文档:https://github.com/princekin-f/EasyFloat