Facebook是如何在Android上创建聊天头的?在所有其他视图之上创建浮动视图的API是什么?
Facebook是如何在Android上创建聊天头的?在所有其他视图之上创建浮动视图的API是什么?
This一:
允许应用程序使用类型打开windows
常量值:"android.permission.SYSTEM_ALERT_WINDOW"
//编辑:
public class ChatHeadService extends Service {
private WindowManager windowManager;
private ImageView chatHead;
@Override public IBinder onBind(Intent intent) {
// Not used
return null;
}
@Override public void onCreate() {
super.onCreate();
windowManager = (WindowManager) getSystemService(WINDOW_SERVICE);
chatHead = new ImageView(this);
chatHead.setImageResource(R.drawable.android_head);
WindowManager.LayoutParams params = new WindowManager.LayoutParams(
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.TYPE_PHONE,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
PixelFormat.TRANSLUCENT);
params.gravity = Gravity.TOP | Gravity.LEFT;
params.x = 0;
params.y = 100;
windowManager.addView(chatHead, params);
}
@Override
public void onDestroy() {
super.onDestroy();
if (chatHead != null) windowManager.removeView(chatHead);
}
}
别忘了以某种方式启动这项服务:
startService(new Intent(context, ChatHeadService.class));
…并将此服务添加到您的 list 中.