2014-01-27 16 views
8

Android screenshot如何添加Android中

我开发一个应用就像一个Facebook Chat Heads知道如何添加到窗口管理器的单一视图窗口管理多个视图。

如何将多个视图添加到窗口管理器?我尝试了框架布局和相对布局,但是如果我使用相对布局,如何将聊天头从一个地方移动到另一个地方?

对于增加我用下面的代码多个视图:

chatHead = new ImageView(this); 
    chatHead.setImageResource(R.drawable.ic_launcher); 
    TextView t = new TextView(this); 
    t.setText("Blessan Mathew"); 
    t.setBackgroundColor(Color.CYAN); 
    params1 = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); 
    childLayout.addView(t, params1); 

    params1 = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); 
    childLayout.addView(chatHead, params1); 
    fr.addView(childLayout); 

    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(fr, params); 

我怎么能拖聊天头部删除其观点?

回答

9

要对ImageView顶部添加通知,双方的意见一起移动:

使用RelativeLayout父布局,并添加ImageViewTextView它。

private RelativeLayout parentlayout; 
TextView notification; 

chatHead = new ImageView(this); 
chatHead.setImageResource(R.drawable.deals); 
chatHead.setId(imageid); 
parentlayout = new RelativeLayout(this); 

notification = new TextView(this); 
notification.setTextColor(Color.parseColor("#494949")); 
notification.setText("1"); 
notification.setId(nameid); 
notification.setTextSize(19); 

final RelativeLayout.LayoutParams params_imageview = new RelativeLayout.LayoutParams(
      WindowManager.LayoutParams.WRAP_CONTENT, 
      WindowManager.LayoutParams.WRAP_CONTENT); 

params_imageview.addRule(RelativeLayout.ALIGN_PARENT_LEFT); 

final RelativeLayout.LayoutParams params_name = new RelativeLayout.LayoutParams(
      WindowManager.LayoutParams.WRAP_CONTENT, 
      WindowManager.LayoutParams.WRAP_CONTENT); 

params_name.addRule(RelativeLayout.ALIGN_RIGHT, imageid); 
params_name.addRule(RelativeLayout.ALIGN_TOP, imageid); 

parentlayout.addView(chatHead, params_imageview);// adding user image to view 
parentlayout.addView(notification, params_name); 

最后做出这些改变:

mWindowManager.updateViewLayout(parentlayout, params); 

mWindowManager.addView(parentlayout, params); 

PS:使用形状风格TextView,并得到确切的通知,称Facebook的! :)

+0

谢谢你的回复..如果我使用上面的代码文本视图和图像视图正在移动,但我想移动一个单一的视图..就像上面的照片我可以拖动聊天头取消图像 – rajahsekar

+0

工作过我。好的谢谢。 –

+0

我有同样的问题! 我需要移动泡泡。但是这不会发生,因为相对布局是气泡图像的父项。任何解决方案 –