Подтвердить что ты не робот

Как сделать напоминание в Facebook Messenger, подобное этому в Android

Я хочу реализовать уведомления, подобные тому, как показано на следующем рисунке.

Уведомление появляется в любое время. Я думаю, что это, конечно, фоновая служба, ожидающая новых сообщений с сервера, показывает это. Я думаю, что это активность, реализованная в виде диалога с этим пользовательским интерфейсом. Я прав? И это обычный метод startActivity от службы? И как мне сделать переходную анимацию, чтобы она медленно появлялась слева направо с увеличением при появлении?

Enter image description here

4b9b3361

Ответ 1

Посмотрите эту ссылку http://www.piwai.info/chatheads-basics. Он предоставляет информацию о том, как добавить их на свой экран.

Трюк заключается в том, чтобы добавить View в WindowManager, как в следующем коде

private WindowManager windowManager;
private ImageView chatHead;

public void addView()
{
  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);
}

Не забудьте добавить разрешение <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>