почему выравнивание текста не работает во флаттере? - PullRequest
1 голос
/ 23 апреля 2020

Я создаю приложение, в некоторых частях которого есть персидский язык, и они не находятся на том же уровне, как изображение ниже:

enter image description here

Но для английского языка sh язык работает правильно, как на картинке ниже:

enter image description here

Вот мой код:

body: Container(
        child: ReorderableListView(
          onReorder: (oldIndex, newIndex) {
            setState(() {
              _updateItems(oldIndex, newIndex);
            });
          },
          children: [
            for (final item in data)
              Card(
                key: ValueKey(item),
                color: Colors.grey,
                child: Container(
                  padding: const EdgeInsets.only(left: 10, right: 10),
                  child: CheckboxListTile(
                    controlAffinity: ListTileControlAffinity.leading,
                    value: true,
                    onChanged: (bool value) {
                      setState(() {
                        value = !value;
                      });
                    },
                    title: Align(
                      alignment: Alignment.centerRight,
                      child: Text(
                        '$item',
                        style: TextStyle(
                          color: Colors.white,
                        ),
                      ),
                    ),
                  ),
                ),
              ),
          ],
        ),
      ),

Пожалуйста, помогите мне, спасибо .

1 Ответ

1 голос
/ 23 апреля 2020

Убедитесь, что в начале текста нет места, и сделайте textDirection rtl;

Text(
  '${item.trim()}',
  textDirection: TextDirection.rtl,
  style: TextStyle(
    color: Colors.white,
  ),
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...