2015-09-20 81 views

回答

0

我认为你正在寻找所有应用程序之上的“facebook-chat-head”像图标。对?

那么它在这里,

允许应用程序使用 型TYPE_SYSTEM_ALERT,对其他所有程序的顶层打开窗户。很少有 应用程序应该使用此权限;这些窗口旨在用于与用户进行系统级交互的 。

常数值: “android.permission.SYSTEM_ALERT_WINDOW”

here

示例代码:

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)); 

完整的代码here

请看看这个线程:chat head related techniques

+0

谢谢您的回答这么多, 但我想集满像壁纸一样全屏 –

+0

马克为接受,如果它帮助,它会帮助其他人解决这个问题,以便知道它正在工作或nt。 –

+0

我的初衷是在屏幕上做一个壁纸,并位于主题等应用程序。我对这个误解表示歉意 –

相关问题