Это работает, если вы сделаете это следующим образом:
В вашем макете привязки импорта данных Просмотрите и используйте его константы выравнивания:
<layout>
<data>
<import type="android.view.View" />
</data>
<TextView
...
android:textAlignment="@{View.TEXT_ALIGNMENT_CENTER}"
... />
</layout>
Вы можете использовать следующие константы: View.TEXT_ALIGNMENT_INHERIT; View.TEXT_ALIGNMENT_GRAVITY; View.TEXT_ALIGNMENT_TEXT_START; View.TEXT_ALIGNMENT_TEXT_END; View.TEXT_ALIGNMENT_CENTER; View.TEXT_ALIGNMENT_VIEW_START; View.TEXT_ALIGNMENT_VIEW_END;
Для получения дополнительной информации об этих константах посмотрите документацию здесь .
В вашем конкретном случае вы можете написать:
<layout>
<data>
<import type="android.view.View" />
</data>
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:text="@{viewModel.text}"
android:textAlignment="@{viewModel.switcher ? View.TEXT_ALIGNMENT_VIEW_START : View.TEXT_ALIGNMENT_CENTER}"
android:textSize="14sp"/>
</layout>