флаттер 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),
),
],
),)
);
}
}