Бесплатная сетка для некомерческого использования. Я так понял, что без исходников.
For Embarcadero RAD Studio 2009 and up to Tokyo 10.2 update 2, Delphi and C++, VCL and Firemonkey frameworks (all platforms: Windows 32 and 64 bit, Mac OSX, Android and iOS), and Lazarus FreePascal (Windows, Linux, etc)
https://github.com/Steema/TeeGrid
FMX.Dialogs
procedure ShowMsgYesNo;
begin
{ Show a multiple-button alert that triggers different code blocks according to
your input }
TDialogService.MessageDialog('Choose a button:', System.UITypes.TMsgDlgType.mtInformation,
[System.UITypes.TMsgDlgBtn.mbYes, System.UITypes.TMsgDlgBtn.mbNo],
System.UITypes.TMsgDlgBtn.mbYes, 0,
// Use an anonymous method to make sure the acknowledgment appears as expected.
procedure(const AResult: TModalResult)
begin
case AResult of
{ Detect which button was pushed and show a different message }
mrYES:
ShowMessage('You chose Yes');
mrNo:
ShowMessage('You chose No');
end;
end);
end;
Иконка изменится внутри приложения в рамах текущего контекста до ее завершения. С других приложений и в системе ничего не поменяется (см. прикрепление).
Чтобы не влиять на другой функционал, достаточно сделать следующее:
//запоминаем ид по умолчанию
lDefaultId := TAndroidHelper.Context.getApplicationInfo.icon;
//устанавливаем нашу кастомную иконку
TAndroidHelper.Context.getApplicationInfo.icon := lId;
//создаем локальное уведомление
NotificationCenter.PresentNotification(lNotification);
//возвращаем обратно
TAndroidHelper.Context.getApplicationInfo.icon := lDefaultId;
п.с. Если такой вариант не устраивает, всегда можно написать class helper for TBaseNotificationCenter и использовать классы JNotificationCompat_Builder, JNotificationManager, JNotification. Справка из developer.android.com.