флаттер 3.7.5 Проблема с рендерингом веб-html

Мы пытаемся обновить наш сайт электронной коммерции с многоязычным интерфейсом на английском и арабском языках, но направление текста RTL справа налево пропущено при рендеринге веб-HTML с помощью Flutter 3.7.

любезно дайте нам предложения по решению этой проблемы, так как мы очень рады работать над новой версией #flutter

например :

  • правильный ожидаемый результат: 23,5
  • неправильный результат рендеринга веб-html: 5.23

Другой пример :

  • правильный ожидаемый результат: (тест) (هذا نص تجريبي (اختبار
  • неправильный результат рендеринга веб-html: )test() هذا نص تجريبي )اختبار

пример кода

мы пробовали этот пример кода, но он не работал

это их способ исправить это

Спасибо

1 ответ

В вашей колонке возникла проблема.

Я решил его проблемуCrossAxisAlignment.stretchдля ширины экрана иMainAxisAlignment.startдля стартовой стороны .

Если вы используетеDirectionalityв качестве родителя виджета и установитеrtl, стартовая сторона всегда естьRight.

      import 'package:flutter/material.dart';
void main() {
 runApp(const MyApp());
}

class MyApp extends StatelessWidget {
 const MyApp({super.key});

 @override
 Widget build(BuildContext context) {
   return MaterialApp(
     title: 'Flutter Demo',
     theme: ThemeData(
       primarySwatch: Colors.blue,
     ),
     home: const HomePage(),
   );
 }
}

class HomePage extends StatelessWidget {
 const HomePage({Key? key}) : super(key: key);

 @override
 Widget build(BuildContext context) {
   return Scaffold(
     body: Directionality(
       textDirection: TextDirection.rtl,
       child:Column(
               crossAxisAlignment: CrossAxisAlignment.stretch,
               mainAxisAlignment: MainAxisAlignment.start,
       children: const [
          Text(
             'سعر المنتج 23.5 دولار',
             style: TextStyle(fontSize: 30, fontWeight: FontWeight.bold),
           ),
         SizedBox(height: 20),
          Text(
             '(test) (هذا نص تجريبي (اختبار',
             style: TextStyle(fontSize: 30, fontWeight: FontWeight.bold),
           ),
       ],
     ),)
   );
 }
}

Другие вопросы по тегам