温馨提示×

如何在Android中启用EasyFloat

小樊
87
2024-09-12 08:21:01
栏目: 编程语言

EasyFloat 是一个 Android 悬浮窗框架,可以轻松实现悬浮窗功能

  1. 添加依赖:

在项目的 build.gradle 文件中添加 EasyFloat 的依赖项:

dependencies {
    implementation 'com.github.princekin-f:EasyFloat:1.3.4'
}
  1. 添加悬浮窗权限:

在 AndroidManifest.xml 文件中添加以下权限:

<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
  1. 请求悬浮窗权限:

在需要使用悬浮窗功能的 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();
            }
        }
    }
}
  1. 创建并显示悬浮窗:

使用 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(); // 显示悬浮窗
    }
}
  1. 在适当的时机隐藏或关闭悬浮窗:
// 隐藏悬浮窗
EasyFloat.hide(this);

// 关闭悬浮窗
EasyFloat.dismiss(this);

现在你已经成功地在 Android 项目中集成了 EasyFloat 悬浮窗框架。你可以根据需要自定义悬浮窗的样式和行为。更多关于 EasyFloat 的信息和用法,请参考官方文档:https://github.com/princekin-f/EasyFloat

0