Codenameone Как изменить цвет текста - PullRequest
3 голосов
/ 20 марта 2020

Средство выбора имеет два компонента:

  1. Начальное / выбранное значение , отображаемое в пользовательском интерфейсе Codenameone .
  2. Диалог Собственный сборщик диалоги / листы.

Имеет смысл, что мы не можем контролировать theme/color/style из Собственных сборщиков , так как они находятся под влиянием OS-speci c theme выбранный пользователем.

Но как изменить цвет текста внутри средства выбора в интерфейсе Codenameone? На следующем снимке экрана я хочу сделать текст "3/20/20, 00:00, & 0-5 persons" белым.

Что я пробовал:

  1. Изменение семейства шрифтов "Label" в CSS изменил шрифт, поэтому я попытался изменить «цвет» с CSS, но это не помогло.
  2. Я попытался изменить цвет переднего плана следующим образом: timePicker.style.fgColor = 0xfffff
  3. В CSS я определил стиль.

     DropdownStyle{
        background-color: #333333;
        color: #FFFFFF;
    }
    

    Затем я установил стиль в пике

    datePicker.uiid ="DropdownStyle"
    

Но ни один из вышеперечисленных способов не сработал, как ожидалось .

Как правильно это сделать? Я считаю, что мне не хватает очень простой вещи, но я не смог найти ее сам.

enter image description here

enter image description here

1 Ответ

0 голосов
/ 26 марта 2020

AS @ shai-almog предложил, покопавшись в Component Inspector , я обнаружил, что

enter image description here

  • У PickerComponent есть идентификатор "TextComponent", поэтому, если мы заменим UIID из PickerComponent, это изменит стиль только для держателя , поэтому я смог изменить только цвет фона, но не текст .
  • Внутри него находится Picker, представляющий Текст и имеющий идентификатор TextComponentField.

Так что мне пришлось их индивидуально оформлять так:

    TextComponent{
        background-color: rgba(0, 0, 0, 0.0);

    }
    TextComponentField{
        color: white;
    }

Вывод:

enter image description here

...