package yifeiyuan.practice.practicedemos.window;
import android.graphics.Color;
import android.graphics.PixelFormat;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.view.WindowManager;
import android.widget.TextView;
import android.widget.Toast;
import butterknife.ButterKnife;
import butterknife.InjectView;
import yifeiyuan.practice.practicedemos.R;
import yifeiyuan.practice.practicedemos.periscope.FavorLayout;
/**
* title : http://gold.xitu.io/entry/5621a9cb60b27457e85c8c07/view
* <p>
* 无需 android.permission.SYSTEM_ALERT_WINDOW
*/
public class FloatingWindowActivity extends AppCompatActivity {
@InjectView(R.id.tv_window)
TextView mTvWindow;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_floating_window);
ButterKnife.inject(this);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(v ->
{
FavorLayout layout = new FavorLayout(FloatingWindowActivity.this);
ViewGroup group = (ViewGroup) findViewById(Window.ID_ANDROID_CONTENT);
ViewGroup.LayoutParams lp = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
group.addView(layout, lp);
layout.setOnClickListener(favor->{
layout.addFavor();
layout.addFavor();
layout.addFavor();
layout.addFavor();
layout.addFavor();
layout.postDelayed(new Runnable() {
@Override
public void run() {
group.removeView(favor);
}
},10000);
});
}
);
mTvWindow.setOnClickListener(v -> {
addWindow();
});
}
private void addWindow() {
//WindowManager manager = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
WindowManager manager = getWindowManager();
// Point point = new Point();
// manager.getDefaultDisplay().getSize(point);
//默认出现在中心
int w = WindowManager.LayoutParams.MATCH_PARENT;
int h = WindowManager.LayoutParams.MATCH_PARENT;
WindowManager.LayoutParams lp = new WindowManager.LayoutParams(w, h, WindowManager.LayoutParams.TYPE_TOAST, 0, PixelFormat.TRANSLUCENT);
// lp.height = 100;
// lp.width = 100;
// lp.horizontalMargin = 20;
// lp.verticalMargin = 20;
lp.gravity = Gravity.TOP;
// lp.x = 50;
// lp.y = 50;
View v = new View(FloatingWindowActivity.this);
v.setBackgroundColor(Color.rgb(122, 121, 122));
v.setOnClickListener(view -> {
Toast.makeText(FloatingWindowActivity.this, "CLicked", Toast.LENGTH_SHORT).show();
manager.removeView(view);
});
manager.addView(v, lp);
}
}