Как добавить несколько просмотров в оконный менеджер в Android

Снимок экрана 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); 

Как я могу перетащить чат-головку, чтобы удалить ее вид?

Чтобы добавить уведомление поверх ImageView и объединить оба представления:

Используйте RelativeLayout качестве родительского макета и добавьте ImageView и TextView к нему.

 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! 🙂

Intereting Posts
Как определить пользовательскую андроиду андроида (например, @Background) Как реализовать это настраиваемое всплывающее меню с помощью Material Design Android? Добавление фонового изображения в фоновый формат xml Тайм-аут разъема android при подключении Android: исключение класса не найдено: android.support.v4.app.FragmentPager Должно ли мое приложение Android по умолчанию упростить или традиционный китайский? Небольшие номера в Android-браузере CalendarView Использование Mockito Matchers.any () с пользовательской аннотацией android.support.annotation.IntDef Google Checkout недоступен в моей стране, как я могу публиковать платные приложения в GooglePlay? EditText требуется дважды щелкнуть, чтобы открыть диалоговое окно поиска Android getActivity () всегда возвращает нулевой внутренний фрагмент Как удалить тень FloatingActionButton? Есть ли предпочтительный способ получить системное время в cocos2d-x? Как сбросить ListView с помощью ArrayAdapter после извлечения данных Как автоцентрировать обрезку ImageView Android?