Как добавить кнопку в Textview динамически

У меня есть вопрос здесь, мне нужно добавить некоторую кнопку в TextView в моей строке заголовка таблицы дерева, цвет кнопки должен быть изменен в соответствии с данными строк элементов строки(дочерних узлов).
Как такое возможно? пожалуйста, кто-нибудь помогите мне в этом.

<TextView id="idKuljkiel" semanticColor="Critical" text="{path:'zstrv_fun>KuljKiel', formatter:'.zchangeColor'}" />

Я создал функцию форматирования, где я могу написать код для создания кнопки, но я не могу добавить кнопку в TextView, и цвет кнопки должен быть изменен как светофор.

Например, если childrow имеют «X » или»», то желтый,
если childrow имеют «X» или «X», то зеленый
если у childrow есть «»или»», то красный
Может кто-нибудь помочь мне в этом?

1 ответ

    • Нельзя добавить кнопку или любой другой элемент управления в TextView. Он не поддерживает дочерние элементы управления.
    • В форматере не следует изменять представление. Его предназначение-просто форматировать значение. Он должен быть идемпотентным.
    • Элемент Buttonуправления не поддерживает произвольные цвета. Он имеет свойство стиля, которое позволяет изменить кнопку на красный (отклонить), зеленый (принять) или серый (по умолчанию). цвета зависят от темы.

    Вы можете поместить TextView вместе с кнопкой в HorizontalLayout. Затем можно привязать видимое свойство кнопки к модели (и при необходимости использовать форматер).

    <mvc:View   >
    ...
      <l:HorizontalLayout>
        <TextView id="idKuljkiel" semanticColor="Critical" text="{path:'zstrv_fun>KuljKiel', formatter:'.zchangeColor'}" />
        <Button visible="{path:'zstrv_fun>WhatEver', formatter:'.zbuttonVisible'}" style="{path:'zstrv_fun>Bla', formatter:'.zbuttonStyle'}"/>
      </l:HorizontalLayout>
    ...
    </mvc:View>
    

    В зависимости от структуры данных внутри модели может быть возможно привязать ко всему объекту строки и использовать его в форматере. В противном случае может потребоваться обработка данных модели после загрузки для вычисления дополнительных свойств строк заголовка.