阅读量:0
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