Вы должны использовать args_converter
и передать данные в список словарей:
from kivy.adapters.listadapter import ListAdapter
from kivy.uix.listview import ListItemButton, ListView
data = [{"text": "blue", "color": (0, 0, 1, 1)},
{"text": "green", "color": (0, 1, 0, 1)},
{"text":"yellow", "color": (1, 1, 0, 1)},
{"text": "black", "color": (0, 0, 0, 1)},
{"text": "white", "color": (1, 1, 1, 1)}]
args_converter = lambda row_index, rec: {'text': rec['text'],
'deselected_color': rec['color'],
'selected_color': rec['color'],
'size_hint_y': None,
'height': 25}
list_adapter = ListAdapter(data=data,
args_converter=args_converter,
cls=ListItemButton,
selection_mode='single',
allow_empty_selection=False)
list_view = ListView(adapter=list_adapter)
if __name__ == '__main__':
from kivy.base import runTouchApp
runTouchApp(list_view)