Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Codenameone如何更改选择器文本颜色_Java_Kotlin_Codenameone - Fatal编程技术网

Java Codenameone如何更改选择器文本颜色

Java Codenameone如何更改选择器文本颜色,java,kotlin,codenameone,Java,Kotlin,Codenameone,选择器有两个组件: Codenameone UI中显示的初始/选定值 本机选择器对话框/工作表 我们无法控制本地选取者的主题/颜色/风格,这是有道理的,因为它们受用户选择的操作系统特定主题的影响 但是我们如何在Codenameone界面中更改选择器中文本的颜色? 在下面的屏幕截图中,我想做的是将文本“3/20/20,00:00,&0-5个人”变成白色 我尝试的是: 更改CSS中的“标签”字体系列更改了字体,所以我尝试更改CSS中的“颜色”,但没有帮助 我尝试像这样更改前景色:timePicker

选择器有两个组件:

  • Codenameone UI中显示的初始/选定值
  • 本机选择器对话框/工作表
  • 我们无法控制本地选取者的
    主题/颜色/风格
    ,这是有道理的,因为它们受用户选择的操作系统特定主题的影响

    但是我们如何在Codenameone界面中更改选择器中文本的颜色? 在下面的屏幕截图中,我想做的是将文本“
    3/20/20,00:00,&0-5个人
    ”变成白色

    我尝试的是:

  • 更改CSS中的“标签”字体系列更改了字体,所以我尝试更改CSS中的“颜色”,但没有帮助
  • 我尝试像这样更改前景色:
    timePicker.style.fgColor=0xfffff
  • 在CSS中,我定义了一种样式

     DropdownStyle{
        background-color: #333333;
        color: #FFFFFF;
    }
    
    然后我将样式设置为picker

    datePicker.uiid ="DropdownStyle"
    
  • 但上述方法都没有达到预期效果

    正确的方法是什么?我相信我错过了一件非常简单的事情,但我自己找不到


    正如@shai almog所建议的,在挖掘组件检查器之后,我发现

    • PickerComponent
      具有ID
      “TextComponent”
      ,因此如果我们替换
      PickerComponent
      UIID
      ,它只会更改Holder组件的样式,这就是为什么我只能更改背景颜色而不能更改文本的原因
    • 在它里面,有一个
      选择器
      ,它代表文本,并且具有id
      TextComponentField
    因此,我必须将它们单独设置为这样的样式:

        TextComponent{
            background-color: rgba(0, 0, 0, 0.0);
    
        }
        TextComponentField{
            color: white;
        }
    
    输出:


    在选中、未选中和按下状态下,您需要自定义的是
    选择器
    UIID。请注意,当您在轻量级模式下运行时,选择器UI由我们绘制,并且是100%跨平台选择器{background color:black;color:white;}。这不起作用,表面上是相反的..但是你自定义了
    .selected
    .pressed
    禁用的
    选择器吗?是的,我尝试了所有这些:Picker.selected{background color:black;color:white;}Picker.pressed{background color:black;color:white;}Picker.disabled{background color:black;color:white;}但它都不起作用。我们要说的是方形选择器按钮,而不是随后弹出的可滚动选择器UI。这是不可定制的,因为它通常是本机实现的。