自定义土司
首先得到一个 窗口管理器
WindowManager wm = (WindowManager) getSystemService(WINDOW_SERVICE);
通过窗口管理器 绑定一个view 和窗口参数params 就能生成一个土司 土司的显示内容就是view的内容
wm.addView(view, params);
示例:
<span style="white-space:pre"> </span>view = View.inflate(this, R.layout.address_show, null); TextView textview = (TextView) view.findViewById(R.id.tv_address); // "半透明","活力橙","卫士蓝","金属灰","苹果绿" int[] ids = { R.drawable.call_locate_white, R.drawable.call_locate_orange, R.drawable.call_locate_blue, R.drawable.call_locate_gray, R.drawable.call_locate_green }; SharedPreferences sp = getSharedPreferences("config", MODE_PRIVATE); view.setBackgroundResource(ids[sp.getInt("which", 0)]); textview.setText(address);
// 窗体的参数就设置好了 WindowManager.LayoutParams params = new WindowManager.LayoutParams(); params.height = WindowManager.LayoutParams.WRAP_CONTENT; params.width = WindowManager.LayoutParams.WRAP_CONTENT; params.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON; params.format = PixelFormat.TRANSLUCENT; params.type = WindowManager.LayoutParams.TYPE_TOAST; wm.<strong>addView</strong>(view, params);
代码注册receiver
<span style="white-space:pre"> </span>// 用代码去注册广播接收者 receiver = new OutCallReceiver(); //意图匹配器 <strong>IntentFilter</strong> filter = new IntentFilter(); //指定要过滤得到的行为 filter.<strong>addAction</strong>("android.intent.action.NEW_OUTGOING_CALL"); //(注册)绑定action到receiver <strong>registerReceiver</strong>(receiver, filter);
时间: 2024-12-16 03:50:57