temenos-quantum

How to change text color of label in segment controller?


I want to set different text color of label in each row SegmentControl programmatically.

Please check my ref. code.

var arrColors = [
    {"color":"white"},
    {"color":"orange"},
    {"color":"blue"},
    {"color":"yellow"},
    {"color":"gray"}
]; 
this.view.segCont.widgetDataMap = {lblColorName: "color"};
this.view.segCont.setData(arrColors);    

I want to do something like attached image.

Thanks in advance!!


Solution

  • I got solution from kony team.

    1) Create different skin for different color label. See below image:

    enter image description here

    2) Set condition for as per your require color label.

    var arrColors = [
        {"color": "white"},
        {"color": "orange"},
        {"color": "blue"},
        {"color": "yellow"},
        {"color": "gray"}
    ];
    
    for (i = 0; i < arrColors.length; i++) {
        if (arrColors[i].color === "orange") {
            arrColors[i].color = {
                "skin": "sknLblOrange"
            };
        } else {
            arrColors[i].color = {
                "skin": "sknLblGreen"
            };
        }
    }
    
    this.view.segCont.widgetDataMap = {
        lblColor: "color"
    };
    this.view.segCont.setData(arrColors);
    

    Hope this helpful to you. Happy Coding :)