package com.ddzybj.zydoctor.receiver;
import android.app.Service;
import android.content.Context;
import android.content.Intent;
import android.graphics.PixelFormat;
import android.os.IBinder;
import android.support.annotation.Nullable;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.SurfaceHolder;
import android.view.WindowManager;
import com.ddzybj.zydoctor.R;
import com.ddzybj.zydoctor.view.DragFloatActionButton;
public class FloatButtonService extends Service {
private WindowManager wManager;// 窗口管理者
private WindowManager.LayoutParams mParams;// 窗口的屬性
private DragFloatActionButton windowView;
private SurfaceHolder holder;
@Override
public void onCreate() {
super.onCreate();
wManager = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
mParams = new WindowManager.LayoutParams(WindowManager.LayoutParams.TYPE_SYSTEM_ERROR, WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE, PixelFormat.TRANSPARENT);
mParams.type = WindowManager.LayoutParams.TYPE_INPUT_METHOD;// 系統提示window
mParams.format = PixelFormat.TRANSLUCENT;// 支持透明
// mParams.format = PixelFormat.RGBA_8888;
mParams.flags |= WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL | WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE;// 焦點
mParams.width = WindowManager.LayoutParams.WRAP_CONTENT;// 窗口的寬和高
mParams.height = WindowManager.LayoutParams.WRAP_CONTENT;
mParams.gravity = Gravity.LEFT | Gravity.TOP;
mParams.y = 100;
mParams.x = 100;
mParams.windowAnimations = android.R.style.Animation_Toast;
// mParams.alpha = 0.8f;//窗口的透明度
LayoutInflater layoutInflater = LayoutInflater.from(getApplicationContext());
windowView = new DragFloatActionButton(getApplicationContext());
windowView.setImageResource(R.mipmap.delete_operation);
wManager.addView(windowView, mParams);// 添加窗口
}
@Nullable
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onDestroy() {
if (wManager!=null&&windowView != null) {
wManager.removeView(windowView);
}
super.onDestroy();
}
}