/*
* 悬浮窗口的实现
*
* */
private void crateFloatView() {
//获取LayoutParams对象
mwParams = new WindowManager.LayoutParams();
//获取LocalWindowManager对象
mWindowManager = this.getActivity().getWindowManager();
Log.d(TAG, "mwindowManager"+ this.getActivity().getWindowManager());
mwParams.type = LayoutParams.WRAP_CONTENT;
//设置背景为透明
mwParams.format = PixelFormat.TRANSLUCENT;
mwParams.gravity = Gravity.RIGHT | Gravity.BOTTOM;
mwParams.x = 0;
mwParams.y = 130;
//设置按钮不霸占整个屏幕的焦点。如果不设置这个。那么屏幕任意位置点击都会触发悬浮按钮事件
mwParams.flags = android.view.WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE;
//设置按钮大小为包裹内容,如果不设置按钮会铺满整个屏幕
mwParams.width = WindowManager.LayoutParams.WRAP_CONTENT;
mwParams.height = WindowManager.LayoutParams.WRAP_CONTENT;
mFloatView = new ImageView(getActivity().getApplicationContext());
mFloatView.setImageResource(R.drawable.chating);
//设置悬浮按钮的点击事件监听器
mFloatView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent(getActivity(),TopicActivity.class);
startActivity(intent);
//Toast.makeText(getActivity().getApplicationContext(), "欢迎你", Toast.LENGTH_LONG).show();
}
});
//最后把按钮加入到WindowsManager
mWindowManager.addView(mFloatView, mwParams);
}
悬浮按钮的实现
最新推荐文章于 2022-10-31 10:46:39 发布