简体   繁体   English

如何在Android中向窗口管理器添加多个视图

[英]How to add multiple views to window manager in Android

Android截图

I am developing a application like Facebook Chat Heads a know how to add a single view to window manager. 我正在开发像Facebook Chat Heads这样的应用程序,知道如何向窗口管理器添加单个视图。

How to add multiple views to window manager? 如何向窗口管理器添加多个视图? I tried frame layout and relative layout, but how can I move chat head from one place to another place if I am using relative layout? 我尝试过框架布局和相对布局,但是如果我使用相对布局,如何将聊天头从一个地方移动到另一个地方?

For adding multiple views I used below code: 为了添加多个视图,我使用下面的代码:

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

How can I drag chat head to remove its view? 如何拖动聊天头以删除其视图?

To add notification on top of ImageView and move both the views together: 要在ImageView上添加通知并将两个视图一起移动:

Use RelativeLayout as parent Layout and add ImageView and TextView to it. 使用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);

Finally make these changes: 最后进行以下更改:

mWindowManager.updateViewLayout(parentlayout, params);

and

mWindowManager.addView(parentlayout, params);

PS: Use shapes to style TextView and get exact notification as that of Facebook!! PS:使用形状来设置TextView样式,并获得与Facebook相同的确切通知! :) :)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何从Android的窗口管理器中删除多个视图? - How to remove multiple views from window manager in Android? 使用Window Manager android浮动视图 - Floating Views using Window Manager android 如何在 Android 中以编程方式添加多个自定义视图 - How to add multiple custom views programmatically in Android 如何在android中动态添加多个可滚动视图 - How to add multiple scrollable views dynamically in android 如何更改Android Window Manager /活动管理器 - How to change Android Window Manager/Activity Manager 在Android O中使用窗口管理器在锁屏上方显示视图? - Show views above lockscreen using window manager in Android O? 如何在Android中将多个视图作为单个视图添加到GridLayout? - How to add multiple views as a single View to a GridLayout in Android? 如何在窗口管理器中删除或添加LinearLayout? - How to remove or add a LinearLayout in window manager? 如何向Android窗口管理器添加浮动视图并侦听系统/硬件后退按钮事件 - How to add a floating view to Android Window manager and listen to System/Hardware back button events 如何在Android中向标签页添加视图 - How to add views to tabs in Android
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM