Как поменять цвет фона карты в день? - PullRequest
0 голосов
/ 19 апреля 2020

Я работаю над одним приложением. В этом приложении есть вид карты. Я хочу изменить цвет фона карты в день.

Как понедельник = красный цвет вторник = зеленый цвет

до воскресенья! и со следующего понедельника он начнется сначала с понедельника = красный цвет

Есть идеи? как этого добиться?

Я пробовал это

Calendar calendar = Calendar.getInstance();
        String currentDate = DateFormat.getDateInstance(DateFormat.FULL).format(calendar.getTime());

Теперь я получаю вывод

Sunday, April 19, 2020

, как я могу использовать это для изменения цвета фона?

Ответы [ 3 ]

2 голосов
/ 19 апреля 2020

Используйте SimpleDateFormat для форматирования даты и времени в удобочитаемую строку с учетом локали пользователя.

Пример для получения текущего дня недели (например, «Воскресенье») ):

Calendar c= Calendar.getInstance();
SimpleDateFormat sd=new SimpleDateFormat("EEEE");
String dayofweek=sd.format(c.getTime());

Теперь измените цвет фона:

if (dayofweek.equals("Saturday")) {
    cardview.setBackgroundColor(getResources().getColor(color.white));
}
0 голосов
/ 19 апреля 2020

Вы можете достичь этого с помощью следующего кода

Calendar calendar = Calendar.getInstance();
int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);


switch (dayOfWeek) {
  case Calendar.MONDAY:
    cardView.setBackground(ContextCompat.getColor(context, R.color.color_monday));
    break;
  case Calendar.TUESDAY:
    cardView.setBackground(ContextCompat.getColor(context, R.color.color_tuesday));
    break;
  case Calendar.WEDNESDAY:
    cardView.setBackground(ContextCompat.getColor(context, R.color.color_wednesday));
    break;
  case Calendar.THURSDAY:
    cardView.setBackground(ContextCompat.getColor(context, R.color.color_thursday));
    break;
  case Calendar.FRIDAY:
    cardView.setBackground(ContextCompat.getColor(context, R.color.color_friday));
    break;
  case Calendar.SATURDAY:
    cardView.setBackground(ContextCompat.getColor(context, R.color.color_saturday));
    break;
  case Calendar.SUNDAY:
    cardView.setBackground(ContextCompat.getColor(context, R.color.color_sunday));
    break;
}
0 голосов
/ 19 апреля 2020

int dayOfWeek = bday.get (Calendar.DAY_OF_WEEK); // Возвращает 3 для вторника

Затем используйте операторы if, else if для разных цветов для разных дней соответственно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...