2014-01-27 25 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

我有同樣的問題! 我需要移動泡泡。但是這不會發生,因爲相對佈局是氣泡圖像的父項。任何解決方案 –