try something like this::

             GridLayout:
                cols: 4
                size_hint: (.5, 1.)
                spacing: '4sp'
                Label:
                    text: "R:"
                    color: root.label_color
                    size_hint_x: .25
                    size_hint_y: .5
                    text_size: self.size
                    halign: "right"
                    valign: "middle"
                    font_size: root.size[0] * .040
                TextInput:
                    text: str(int(root.color[0] * 255))
                    on_text: blablabla
                    foreground_color: root.label_color
                    background_color: root.bg_color
                    padding: '4sp', '2sp'
                    border: 2, 2, 2, 2
                    font_size: root.size[0] * .040
                Label:
                    text: "G:"
                    color: root.label_color
                    size_hint_x: .25
                    size_hint_y: .5
                    text_size: self.size
                    halign: "right"
                    valign: "middle"
                    font_size: root.size[0] * .04
                TextInput:
                    text: str(int(root.color[1] * 255))
                    foreground_color: root.label_color
                    background_color: root.bg_color
                    padding: '4sp', '2sp'
                    border: 2, 2, 2, 2
                    font_size: root.size[0] * .040
                ...
                ...
                ...