现在很多安全类的软件,比如360手机助手,百度手机助手等等,都有一个悬浮窗,可以飘浮在桌面上,方便用户使用一些常用的操作。今天这篇文章,就是介绍如何实现桌面悬浮窗效果的。
首先,看一下效果图。
最关键的就是红框内的四个类。
首先,FloatWindowService是一个后台的服务类,主要负责在后台不断的刷新桌面上的小悬浮窗口,否则会导致更换界面之后,悬浮窗口也会随之消失,因此需要不断的刷新。下面是实现代码。
[java] view plain copy
- package com.qust.floatwindow;
- import java.util.Timer;
- import java.util.TimerTask;
- import android.app.Service;
- import android.content.Context;
- import android.content.Intent;
- import android.os.Handler;
- import android.os.IBinder;
- /**
- * 悬浮窗后台服务
- *
- * @author zhaokaiqiang
- *
- */
- public class FloatWindowService extends Service {
- public static final String LAYOUT_RES_ID = “layoutResId”;
- public static final String ROOT_LAYOUT_ID = “rootLayoutId”;
- // 用于在线程中创建/移除/更新悬浮窗
- private Handler handler = new Handler();
- private Context context;
- private Timer timer;
- // 小窗口布局资源id
- private int layoutResId;
- // 布局根布局id
- private int rootLayoutId;
- @Override
- public int onStartCommand(Intent intent, int flags, int startId) {
- context = this;
- layoutResId = intent.getIntExtra(LAYOUT_RES_ID, 0);
- rootLayoutId = intent.getIntExtra(ROOT_LAYOUT_ID, 0);
- if
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!