Один из способов сделать это - сначала определить, находится ли телефон в ночном режиме.Это можно сделать с помощью следующего кода:
int nightModeFlags =
getContext().getResources().getConfiguration().uiMode &
Configuration.UI_MODE_NIGHT_MASK;
switch (nightModeFlags) {
case Configuration.UI_MODE_NIGHT_YES:
setupNightMode();
break;
case Configuration.UI_MODE_NIGHT_NO:
setupDayMode();
break;
case Configuration.UI_MODE_NIGHT_UNDEFINED:
doStuff();
break;
}
Затем, когда вы узнаете, работает ли он в ночном режиме, просто создайте соответствующий объект RemoteView.Это означает, что у вас должно быть два макета, один для обычного режима, а другой для ночного режима.Примерно так:
RemoteView remoteView;
//Switch case here
setupNightMode(){
remoteView = new RemoteView() //inflate night mode layout
}
setupDayMode()
{
remoteView = new RemoteView() //inflate day mode layout
}
Наконец: используйте объект remoteView при создании уведомления:
NotificationCompat.Builder builder = ...