在Android上叠加屏幕

如何将视图/图像添加到主屏幕?

最好的例子是facebook messenger:如果你长按聊天项目,你可以选择“弹出作弊头”,然后你的屏幕上会有一个小按钮.

还有像屏幕破碎机这样的应用程序,来自破碎显示屏的图像覆盖了手机上的所有内容.

我已经搜索过了,但我不知道它叫什么.

我希望你们能够理解我的英语.

解决方法:

答案是SYSTEM_ALERT_WINDOW,这使你能够在android中绘制任何东西,同样的功能facebook用于绘制其聊天头.

http://developer.android.com/reference/android/Manifest.permission.html#SYSTEM_ALERT_WINDOW

示例代码:

    private WindowManager windowManager;
    private ImageView imageView;
   // Get window manager reference

    windowManager = (WindowManager) getSystemService(WINDOW_SERVICE);

    imageView= new ImageView(YOUR_CONTEXT_HERE);
    imageView.setImageResource(R.drawable.android_head);

    // Setup layout parameter
    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; // Orientation
    params.x = 100; // where you want to draw this, coordinates
    params.y = 100;
    // At it to window manager for display, it will be printed over any thing
    windowManager.addView(chatHead, params);


   // Make sure to remove it when you are done, else it will stick there until you reboot
   // Do keep track of same reference of view you added, don't mess with that
   windowManager.removeView(imageView);
上一篇:Selenium UI自动化----li列表元素展开,Element元素不展开导致复制的xpath定位不到元素问题解决


下一篇:FFmpeg中overlay滤镜用法-水印及画中画