您的位置:首页 > 移动开发 > Android开发

android悬浮窗应用

2015-07-13 17:19 323 查看
部分代码如下:

public void ShowAlertScreen(Context context,String titles,String content,String phone)
{
// 获取Service
wm = (WindowManager) context.getSystemService("window");
WindowManager.LayoutParams mWindowParams = new WindowManager.LayoutParams();
// 设置窗口类型,一共有三种Application windows, Sub-windows, System windows
// API中以TYPE_开头的常量有23个
mWindowParams.type = WindowManager.LayoutParams.TYPE_SYSTEM_ALERT;
// 设置期望的bitmap格式
mWindowParams.format = PixelFormat.RGBA_8888;
mWindowParams.flags = WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL;
// 以下属性在Layout Params中常见重力、坐标,宽高
//mWindowParams.gravity = Gravity.LEFT | Gravity.TOP;

mWindowParams.width = WindowManager.LayoutParams.WRAP_CONTENT;
mWindowParams.height = WindowManager.LayoutParams.WRAP_CONTENT;

LayoutInflater inflater=(LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view=inflater.inflate(R.layout.activity_call_label, null);
TextView tv =(TextView) view.findViewById(R.id.txtPhone);
tv.setText(phone);
TextView title = (TextView) view.findViewById(R.id.txtTitle);
TextView alert = (TextView) view.findViewById(R.id.txtAlert);
ImageButton btnClose = (ImageButton) view.findViewById(R.id.btnJb2);
if(!titles.equals(""))
{
title.setText(titles);
}

alert.setText(content);
btnClose.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
try
{
// 获取Service

AlertDialog.Builder builder = new AlertDialog.Builder(FireWallService.this);

builder.setTitle("请选择举报类型") // title
.setItems(R.array.stype, new DialogInterface.OnClickListener() { //content
@Override
public void onClick(DialogInterface dialog, int which) {

wType = (which+1)+"";
new Thread() {
@Override
public void run()
{
WebClassCommonEntity result = new WebUtil().markPhone(getApplicationContext(),Configuration.imei,phone_num,wType);

}
}.start();

}});
AlertDialog ad = builder.create();
//ad.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_DIALOG); //系统中关机对话框就是这个属性
ad.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
ad.setCanceledOnTouchOutside(false); //点击外面区域不会让dialog消失
ad.show();

}
catch(Exception eee)
{

}
}
});

// 添加指定视图
wm.addView(view, mWindowParams);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: