package com.example.fixedfloatwindow; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.util.Log; import android.view.View; import android.view.animation.BounceInterpolator; import android.widget.ImageView; import android.widget.Toast; import com.yhao.floatwindow.FloatWindow; import com.yhao.floatwindow.enums.EMoveType; import com.yhao.floatwindow.enums.EScreen; import com.yhao.floatwindow.interfaces.BaseFloatWindow; public class MainActivity extends Activity { private ImageView mImageView = null; private ImageView mImageView2 = null; private FloatWindow.Builder mBuilderA = null; private BaseFloatWindow mFirstWindow = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setTitle("A"); setContentView(R.layout.activity_main); initUI(); } private void initUI() { mImageView = new ImageView(getApplicationContext()); mImageView2 = new ImageView(getApplicationContext()); mBuilderA = FloatWindow.with(getApplicationContext()).setView(mImageView).setWidth(EScreen.WIDTH, 0.2f) .setHeight(EScreen.WIDTH, 0.2f).setX(EScreen.WIDTH, 0.8f).setY(EScreen.HEIGHT, 0.3f) .setMoveType(EMoveType.SLIDE).setMoveStyle(500, new BounceInterpolator()).setDesktopShow(true) .setTag("mFirstWindow"); } public void onClick(View view) { mImageView.setImageResource(R.drawable.c_outline_add_circle_outline_black_48dp); mImageView2.setImageResource(R.drawable.c_outline_settings_black_48dp); switch (view.getId()) { case R.id.btnOpenActivityB: // 打开 B 界面 startActivity(new Intent(this, ActivityB.class)); break; case R.id.btnReqPermission: // 申请权限且不构建. 完善中 break; case R.id.btnOnlyBuild: // 构建不加载 break; case R.id.btnInitAndShowA: // 初始化展示 mFirstWindow = FloatWindow.get("mFirstWindow"); // 效果图1 if (mFirstWindow != null) { FloatWindow.get("mFirstWindow").show(); } else { mBuilderA.build(); FloatWindow.get("mFirstWindow").show(); } break; case R.id.btnHideA: // 隐藏悬浮窗 mFirstWindow = FloatWindow.get("mFirstWindow"); if (mFirstWindow != null) { mFirstWindow.hide(); } else { alert("悬浮窗展示状态还没创建~"); } break; case R.id.btnDissmissA: // 销毁悬浮窗 FloatWindow.destroy("mFirstWindow"); break; case R.id.btnIsVisable1: // 判断是否可见 // BaseFloatWindow f = FloatWindow.get("mFirstWindow"); // if (f != null) { // boolean isv = f.isViewVisible(); // alert("悬浮窗展示状态:" + isv); // } else { // alert("窗口一未创建"); // } break; default: break; } } private void alert(String status) { Toast.makeText(this, status, Toast.LENGTH_LONG).show(); Log.i("FloatWindow", status); } }